java版学生信息管理系统
1.目标:可以实现学生信息的增删改查以及对文件的导入导出
2.代码:
1 import java.io.*; 2 import java.io.IOException; 3 import java.util.Scanner; 4 class Student{ 5 String stunumber; //学号 6 String name; //姓名 7 int age; //年龄 8 boolean sex; //性别 9 double score; //成绩 10 public void setStunumber(String stunumber) { 11 this.stunumber=stunumber; 12 } 13 public void setName(String name) { 14 this.name=name; 15 } 16 public void setAge(int age) { 17 this.age=age; 18 } 19 public void setSex(boolean sex) { 20 this.sex=sex; 21 } 22 public void setScore(double score) { 23 this.score=score; 24 } 25 public String getStunumber() { 26 return stunumber; 27 } 28 public String getName() { 29 return name; 30 } 31 public int getAge() { 32 return age; 33 } 34 public boolean getSex() { 35 return sex; 36 } 37 public double getScore() { 38 return score; 39 } 40 public Student() {} 41 public Student(String stunumber,String name,int age,boolean sex,double score) { 42 this.stunumber=stunumber; 43 this.name=name; 44 this.age=age; 45 this.sex=sex; 46 this.score=score; 47 } 48 } 49 //StudentManage类 50 public class StudentManager { 51 static int num=0; 52 static Student[] stu=new Student[100]; 53 static Scanner in=new Scanner(System.in); 54 public static void showStudent() { 55 if(num==0) { 56 System.out.println("很抱歉,暂无学生信息!"); 57 return; 58 } 59 System.out.println("学号\t姓名\t年龄\t性别\t成绩"); 60 for(int i=0;i<num;i++) { 61 System.out.println(stu[i].getStunumber()+"\t"+stu[i].getName()+"\t"+stu[i].getAge()+"\t"+stu[i].getSex()+"\t"+stu[i].getScore()); 62 } 63 } 64 //添加 65 public static void addStudent() { 66 String ch; 67 do { 68 String stunumber; 69 System.out.print("请输入新同学学号:"); 70 stunumber=in.next(); 71 int a=find(stunumber); 72 if(a!=-1) { 73 System.out.println("该学生已经存在!"); 74 }else { 75 System.out.println("请输入新同学的姓名、年龄、性别、分数:"); 76 stu[num]=new Student(); 77 stu[num].setStunumber(stunumber); 78 stu[num].setName(in.next()); 79 stu[num].setAge(in.nextInt()); 80 stu[num].setSex(in.nextBoolean()); 81 stu[num].setScore(in.nextDouble()); 82 num++; 83 } 84 System.out.println("录入成功!"); 85 System.out.println("是否继续录入?Y/N"); 86 ch=in.next(); 87 }while(ch.equals("Y")); 88 } 89 //删除 90 public static void deleteStudent() { 91 System.out.print("请输入你要删除的学号:"); 92 String i=in.next(); 93 int a=find(i); 94 if(a==-1) { 95 System.out.println("该学号不存在"); 96 }else { 97 for(int j=a;j<num-1;j++) { 98 stu[j].setStunumber(stu[j+1].getStunumber()); 99 stu[j].setName(stu[j+1].getName()); 100 stu[j].setAge(stu[j+1].getAge()); 101 stu[j].setSex(stu[j+1].getSex()); 102 stu[j].setScore(stu[j+1].getScore()); 103 } 104 num--; 105 System.out.println("删除成功!"); 106 } 107 } 108 //修改 109 public static void updateStudent() { 110 System.out.print("请输入你要修改的学号:"); 111 String m=in.next(); 112 int a=find(m); 113 if(a==-1) { 114 System.out.println("该学号不存在"); 115 }else { 116 System.out.println("请输入修改后的姓名、年龄、性别、分数:"); 117 stu[a].setStunumber(m); 118 stu[a].setName(in.next()); 119 stu[a].setAge(in.nextInt()); 120 stu[a].setSex(in.nextBoolean()); 121 stu[a].setScore(in.nextInt()); 122 System.out.println("修改成功!"); 123 } 124 } 125 //查找 126 public static void findStudent() { 127 System.out.print("请输入你要查找的学号:"); 128 String m=in.next(); 129 int a=find(m); 130 if(a==-1) { 131 System.out.println("该学号不存在"); 132 }else { 133 System.out.println("学号\t姓名\t年龄\t性别\t成绩"); 134 System.out.println(stu[a].getStunumber()+"\t"+stu[a].getName()+"\t"+stu[a].getAge()+"\t"+stu[a].getSex()+"\t"+stu[a].getScore()); 135 } 136 } 137 //查找学号是否重复 138 public static int find(String a) { 139 int i=0,k=0; 140 for(i=0;i<num;i++) { 141 if(stu[i].getStunumber().compareTo(a)==0) { 142 k=1; 143 break; 144 } 145 } 146 if(k==0) { 147 return -1; //学号不重复 148 }else { 149 return i; 150 } 151 } 152 //导入文件 153 public static void inp() throws IOException{ 154 System.out.println("请输入要导入的文件名:"); 155 String fileName=in.next(); 156 Reader reader=new FileReader(fileName); 157 158 reader.close(); 159 } 160 //导出文件 161 public static void out() throws IOException { 162 System.out.println("请输入要导出的文件名:"); 163 String fileName=in.next(); 164 Writer writer=new FileWriter(fileName); 165 writer.write("学号\t姓名\t年龄\t性别\t成绩\n"); 166 for(int i=0;i<num;i++) { 167 writer.write(stu[i].getStunumber()+"\t"+stu[i].getName()+"\t"+stu[i].getAge()+"\t"+stu[i].getSex()+"\t"+stu[i].getScore()+"\n"); 168 } 169 System.out.println("导出成功!"); 170 writer.close(); 171 } 172 public static void main(String[] args) throws IOException { 173 boolean t=true; 174 while(t) { 175 System.out.println("*************************************"); 176 System.out.println(" 石家庄铁道大学信息科学与技术学院 "); 177 System.out.println(" 学生信息管理系统 v2.0 "); 178 System.out.println("*************************************"); 179 System.out.println(" 1、遍历输出学生信息"); 180 System.out.println(" 2、新学生信息录入"); 181 System.out.println(" 3、删除学生信息"); 182 System.out.println(" 4、修改学生信息"); 183 System.out.println(" 5、查询学生信息"); 184 System.out.println(" 6、导入文件"); 185 System.out.println(" 7、导出文件"); 186 System.out.println("*************************************"); 187 int n; 188 Scanner in=new Scanner(System.in); 189 System.out.print("请输入你要执行的操作:"); 190 n=in.nextInt(); 191 switch(n) { 192 case 1:showStudent();break; 193 case 2:addStudent();break; 194 case 3:deleteStudent();break; 195 case 4:updateStudent();break; 196 case 5:findStudent();break; 197 case 7:out();break; 198 default: 199 t=false; 200 System.out.println("欢迎再次使用本系统!"); 201 break; 202 } 203 System.out.println(); 204 } 205 } 206 }
3.测试截图