首页 > 技术文章 > java版学生信息管理系统

znjy 2020-10-08 23:38 原文

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.测试截图

 

 

 

 

 

 

 

 

 

 

 

推荐阅读