开学后学习Java文件操作,并为了研究main究竟放在那里的问题,又写了一遍学生信息管理系统。这次放弃用Array List,就用了普通的一维数组。顺便整理上来。
1 package Student; 2 3 public class Student 4 { 5 private String stunumber; 6 private String name; 7 private int age; 8 private boolean sex;//man=false,woman=true 9 private Double score; 10 Student () 11 { 12 stunumber=""; 13 name=""; 14 age=0; 15 sex=false; 16 score=0.0; 17 } 18 Student (String a,String b,int c,boolean d,Double e) 19 { 20 stunumber=a; 21 name=b; 22 age=c; 23 sex=d; 24 score=e; 25 } 26 public void set_stunumber(String str) 27 { 28 stunumber=str; 29 } 30 public void set_name(String str) 31 { 32 name=str; 33 } 34 public void set_age(int n) 35 { 36 age=n; 37 } 38 public void set_sex(boolean bool) 39 { 40 sex=bool; 41 } 42 public void set_score(Double n) 43 { 44 score=n; 45 } 46 public String get_stunumber() 47 { 48 return stunumber; 49 } 50 public String get_name() 51 { 52 return name; 53 } 54 public int get_age() 55 { 56 return age; 57 } 58 public boolean get_sex() 59 { 60 return sex; 61 } 62 public Double get_score() 63 { 64 return score; 65 } 66 67 }
1 package Student; 2 import java.util.Scanner; 3 import java.io.*; 4 public class StudentManager 5 { 6 private Student stu[]=new Student[100]; 7 private int number; 8 StudentManager() 9 { 10 number=0; 11 12 } 13 public void showStudent() 14 { 15 String s; 16 for(int i=0;i) 17 { 18 if(stu[i].get_sex()==true) 19 { 20 s="女"; 21 } 22 else 23 { 24 s="男"; 25 } 26 System.out.print("("+(i+1)+")\t"); 27 System.out.print("学号: "); 28 System.out.print(stu[i].get_stunumber()); 29 System.out.print(" 姓名: "); 30 System.out.print(stu[i].get_name()); 31 System.out.print(" 年龄: "); 32 System.out.print(stu[i].get_age()); 33 System.out.print(" 性别: "); 34 System.out.print(s); 35 System.out.print(" 成绩: "); 36 System.out.println(stu[i].get_score()); 37 } 38 } 39 public void addStudent() 40 { 41 Scanner input=new Scanner(System.in); 42 String a, b,f; 43 int c; 44 boolean d=false; 45 Double e; 46 int f1=1; 47 do 48 { 49 System.out.println("请依次输入学号 姓名 年龄 性别 成绩"); 50 a=input.next(); 51 b=input.next(); 52 c=input.nextInt(); 53 f=input.next(); 54 e=input.nextDouble(); 55 if(f.equals("女")) 56 { 57 d=true; 58 } 59 else 60 { 61 d=false; 62 } 63 if(judgeSame(a)==true) 64 { 65 stu[number]=new Student(); 66 stu[number].set_stunumber(a); 67 stu[number].set_name(b); 68 stu[number].set_age(c); 69 stu[number].set_sex(d); 70 stu[number].set_score(e); 71 number++; 72 System.out.println("是否继续?是 1 否 0"); 73 f1=input.nextInt(); 74 } 75 else 76 { 77 System.out.println("学号重复!该学生已存在!"); 78 f1=1; 79 } 80 }while(f1==1); 81 } 82 private boolean judgeSame(String s) 83 { 84 for(int i=0;i ) 85 { 86 if(s.equals(stu[i].get_stunumber())==true) 87 { 88 return false; 89 } 90 } 91 return true; 92 } 93 public void deleteStudent() 94 { 95 Scanner input=new Scanner(System.in); 96 String s; 97 System.out.println("请输入要删除的学生的学号:"); 98 s=input.next(); 99 boolean f=false; 100 for(int i=0;i ) 101 { 102 if(s.equals(stu[i].get_stunumber())) 103 { 104 f=true; 105 number--; 106 for(int t=i;t ) 107 { 108 stu[t]=stu[t+1]; 109 } 110 } 111 } 112 if(f==false) 113 { 114 System.out.println("删除失败!该学生不存在"); 115 } 116 } 117 public void selectStudent() 118 { 119 Scanner input=new Scanner(System.in); 120 String s; 121 System.out.println("请输入要查询的学生的学号:"); 122 s=input.next(); 123 boolean flag=false; 124 for(int i=0;i ) 125 { 126 if(s.equals(stu[i].get_stunumber())) 127 { 128 flag=true; 129 if(stu[i].get_sex()==true) 130 { 131 s="女"; 132 } 133 else 134 { 135 s="男"; 136 } 137 System.out.print("学号: "); 138 System.out.print(stu[i].get_stunumber()); 139 System.out.print(" 姓名: "); 140 System.out.print(stu[i].get_name()); 141 System.out.print(" 年龄: "); 142 System.out.print(stu[i].get_age()); 143 System.out.print(" 性别: "); 144 System.out.print(s); 145 System.out.print(" 成绩: "); 146 System.out.println(stu[i].get_score()); 147 } 148 } 149 if(flag==false) 150 { 151 System.out.println("该学生不存在!"); 152 } 153 } 154 public void updateStudent() 155 { 156 Scanner input=new Scanner(System.in); 157 String s; 158 String a, b,f; 159 int c; 160 boolean d=false; 161 Double e; 162 System.out.println("请输入要修改的学生的学号:"); 163 s=input.next(); 164 boolean flag=false; 165 for(int i=0;i ) 166 { 167 if(s.equals(stu[i].get_stunumber())) 168 { 169 flag=true; 170 System.out.println("请依次输入学号 姓名 年龄 性别 成绩"); 171 a=input.next(); 172 b=input.next(); 173 c=input.nextInt(); 174 f=input.next(); 175 e=input.nextDouble(); 176 if(f.equals("女")) 177 { 178 d=true; 179 } 180 else 181 { 182 d=false; 183 } 184 if(judgeSame(a)==true) 185 { 186 stu[i]=new Student(); 187 stu[i].set_stunumber(a); 188 stu[i].set_name(b); 189 stu[i].set_age(c); 190 stu[i].set_sex(d); 191 stu[i].set_score(e); 192 } 193 else 194 { 195 System.out.println("修改失败!学号重复!该学生已存在!"); 196 } 197 } 198 } 199 if(flag==false) 200 { 201 System.out.println("修改失败!该学生不存在!"); 202 } 203 } 204 public void infile() 205 { 206 String s; 207 number=0; 208 int i=0; 209 boolean d=false; 210 try 211 { 212 Scanner input=new Scanner(System.in); 213 System.out.println("请输入文件路径:"); 214 s=input.next(); 215 FileReader fr=new FileReader(s); 216 Scanner r=new Scanner(fr); 217 while(r.hasNext()) 218 { 219 stu[i]=new Student(); 220 stu[i].set_stunumber(r.next()); 221 stu[i].set_name(r.next()); 222 stu[i].set_age(r.nextInt()); 223 stu[i].set_sex(r.nextBoolean()); 224 stu[i].set_score(r.nextDouble()); 225 i++; 226 } 227 228 fr.close(); 229 r.close(); 230 } 231 catch(IOException e) 232 { 233 System.out.println("读取错误!"); 234 e.printStackTrace(); 235 236 } 237 number=i; 238 } 239 public void outfile() 240 { 241 String s; 242 Scanner input=new Scanner(System.in); 243 System.out.println("请输入文件路径:"); 244 s=input.next(); 245 File f=new File(s); 246 try 247 { 248 FileWriter fw=new FileWriter(f); 249 PrintWriter pw=new PrintWriter(fw); 250 251 for(int i=0;i ) 252 { 253 pw.print(stu[i].get_stunumber()+" "); 254 pw.print(stu[i].get_name()+" "); 255 pw.print(stu[i].get_age()+" "); 256 pw.print(stu[i].get_sex()+" "); 257 pw.println(stu[i].get_score()); 258 } 259 fw.flush(); 260 fw.close(); 261 pw.close(); 262 } 263 catch(IOException e) 264 { 265 System.out.println("输出错误!"); 266 e.printStackTrace(); 267 } 268 } 269 }
1 package Student; 2 import java.util.Scanner; 3 public class Main 4 { 5 6 public static void main(String[] args) 7 { 8 Scanner input=new Scanner(System.in); 9 StudentManager m=new StudentManager(); 10 int select=1; 11 for(;;) 12 { 13 face(); 14 do 15 { 16 select=input.nextInt(); 17 }while(select<1||select>7); 18 switch(select) 19 { 20 case 1:m.showStudent();break; 21 case 2:m.addStudent();break; 22 case 3:m.deleteStudent();break; 23 case 4:m.updateStudent();break; 24 case 5:m.selectStudent();break; 25 case 6:m.infile();break; 26 case 7:m.outfile();break; 27 } 28 } 29 } 30 private static void face() 31 { 32 System.out.println("***************************************************"); 33 System.out.println(" 石家庄铁道大学信息科学与技术学院"); 34 System.out.println(" 学生信息管理系统"); 35 System.out.println("***************************************************"); 36 System.out.println(" 1.遍历输出学生信息"); 37 System.out.println(" 2.新学生信息录入"); 38 System.out.println(" 3.删除学生信息"); 39 System.out.println(" 4.修改学生信息"); 40 System.out.println(" 5.查询学生信息"); 41 System.out.println(" 6.导入文件"); 42 System.out.println(" 7.导出文件"); 43 System.out.println("***************************************************"); 44 } 45 }