学生管理系统(nice版)

##########主程序#########

 1 package com.test.students;
 2 import java.util.Scanner;
 3 /**
 4  * 主程序运行。
 5  * @author Administrator
 6  * */
 7 
 8 public class Stusystem {
 9 
10     public static void main(String[] args) {
11         // TODO Auto-generated method stub
12         System.out.println("欢迎使用学生管理系统");
13         Scanner scan = new Scanner(System.in);
14         Stusystem st = new Stusystem();
15         Studata s1 = new Studata();
16 
17             while(true) {
18                 try {
19                     Thread.sleep(1000);
20                 }catch (Exception e) {
21                     e.printStackTrace();
22                 }
23                  
24                 st.showMenu();
25 
26                 switch (scan.next()) {
27                     case "0":
28                     System.exit(0);
29                     
30                     case "1":
31                     s1.insertStu();
32                     break;
33                     
34                     case "2":
35                     s1.deleteStu(scan);
36                     break;
37                     
38                     case "3":
39                     s1.updateStu(scan);
40                     break;
41                     
42                     case "4":
43                     s1.showprintStu(scan);
44                     break;
45                     
46                     case "5":
47                     s1.showprintAllStu();
48                     break;
49                     
50                     default:
51                         System.out.println("输入错误,重新输入!");
52                 }
53                 
54         }
55     }
56 
57     public void showMenu(){
58         System.out.println("\n请选择操作:");
59         System.out.println("1:增加学生信息");
60         System.out.println("2:删除学生信息");
61         System.out.println("3:修改学生信息");
62         System.out.println("4:根据学号查看学生信息");
63         System.out.println("5:查看所有学生信息");
64         System.out.println("0:退出系统");
65     }
66     
67 }

 

###########学生类###########

 

 1 package com.test.students;
 2 
 3 public class Student {
 4     
 5     private String stuId;
 6     private String stuName;
 7     private String stuSex;
 8     private int stuScore;
 9     private int stuAge;
10     public Student() {};
11     public Student(String[] s) {
12         this.stuId = s[0];
13         this.stuName = s[1];
14         this.stuSex = s[2];
15         this.stuScore = Integer.parseInt(s[3]);
16         this.stuAge = Integer.parseInt(s[4]);
17     }
18     public String getStuId() {
19         return stuId;
20     }
21     public void setStuId(String stuId) {
22         this.stuId = stuId;
23     }
24     public String getStuName() {
25         return stuName;
26     }
27     public void setStuName(String stuName) {
28         this.stuName = stuName;
29     }
30     public String getStuSex() {
31         return stuSex;
32     }
33     public void setStuSex(String stuSex) {
34         this.stuSex = stuSex;
35     }
36     public int getStuScore() {
37         return stuScore;
38     }
39     public void setStuScore(int stuScore) {
40         this.stuScore = stuScore;
41     }
42     public int getStuAge() {
43         return stuAge;
44     }
45     public void setStuAge(int stuAge) {
46         this.stuAge = stuAge;
47     }
48     
49 }

 

 

########util#########

 

 

 1 package com.test.students;
 2 import java.util.ArrayList;
 3 import java.util.List;
 4 import java.util.Scanner;
 5 /**
 6  * 增删改查具体实现。
 7  * */
 8 public class StudentSys {
 9     
10     //学生集合
11     List<Student> stulist=new ArrayList<Student>();
12     //添加学生
13     public void arrayStu(Student stu) {
14         stulist.add(stu);
15     }
16     
17     //学号判断
18     public Student checkStu(String setId) {
19         for (int i = 0;i<stulist.size();i++) {
20             if (stulist.get(i).getStuId().equals(setId)) {
21                 return stulist.get(i);
22             }
23         }
24         return null;
25     }
26     
27     //查询学生信息
28     public void printStu(Student stu){
29 
30         System.out.println("学生编号:"+stu.getStuId()+" 学生姓名:"+stu.getStuName() +
31                          " 学生性别:"+stu.getStuSex()+" 学生年龄 "+stu.getStuScore() + 
32                          " 学生成绩:"+stu.getStuAge());
33     }
34     //删除学生信息
35     public void delStu(String setId) {
36         for (int i = 0;i<stulist.size();i++) {
37             if (stulist.get(i).getStuId().equals(setId)) {
38                 stulist.remove(i);
39             }
40         }
41     }
42     //查询全部学生信息
43     public void printAllStu() {
44         Scanner ye = new Scanner(System.in);
45         for (int i = 0;i < stulist.size();i++) {
46             if ((i%5 == 0) && (i != 0)) {
47                 System.out.println("1、下一页");
48                 String yiye = ye.next();
49                 if (yiye == "1") {
50                     break;
51                 }
52             }
53             printStu(stulist.get(i));
54 
55         }
56     }
57 }

 

##########业务层########

 

  1 package com.test.students;
  2 import java.util.*;
  3 
  4 
  5 
  6 public class Studata {
  7     StudentSys stus = new StudentSys();
  8     Student stu1 = new Student();
  9     //增加
 10     public void insertStu() {
 11         System.out.println("请输入学生信息:学号,姓名,性别,分数,年龄");
 12             final int j = 100;
 13             Scanner inpu = new Scanner(System.in);
 14             String inStu = inpu.nextLine();
 15             String[] arrInStu = inStu.split(" ");
 16 
 17         try {
 18             if (arrInStu.length < 4) {                    
 19                 System.out.println("输入的内容不够,请重新输入");
 20             }else {
 21                 if (stus.checkStu(arrInStu[0]) == null) {
 22                     Student stu = new Student(arrInStu);
 23                     stus.arrayStu(stu);
 24                     System.out.println("学生信息添加成功!!!");
 25                 }else {
 26                     System.out.println("您输入的学号已存在,请选择下一步操作。");
 27                     System.out.println("输入1 重新添加。输入2 返回上一级菜单");
 28                     errStu(inpu,j);
 29                     }
 30                 }
 31         }catch (Exception e) {
 32                 e.printStackTrace();
 33         }finally {
 34             arrInStu = null;
 35         }
 36     }
 37     //删除
 38     public void deleteStu(Scanner scan) {
 39         System.out.println("请输入要删除学生的编号:");
 40         final int j = 200;
 41         String stuId = scan.next();
 42         if(stus.checkStu(stuId) != null){
 43             stus.delStu(stuId);
 44             System.out.println("学生信息删除成功,删除学生学号为:" + stuId);
 45         }else {
 46             System.out.println("您输入的学号不存在,请选择下一步操作");
 47             System.out.println("1、继续删除 2、返回上一级菜单");
 48             errStu(scan,j);
 49         }
 50     }
 51     //更改
 52     public void updateStu(Scanner scan) {
 53         System.out.println("请输入要修改学生的编号");
 54         String stuId = scan.next();
 55         final int j = 300;
 56         if (stus.checkStu(stuId) != null) {
 57             System.out.println("请输入学生的姓名,性别,分数,年龄");
 58             for (int i = 0;i < stus.stulist.size();i++) {
 59                 if (stus.stulist.get(i).getStuId().equals(stuId)) {
 60                     stus.stulist.get(i).setStuId(stuId);
 61                     stus.stulist.get(i).setStuName(scan.next());
 62                     stus.stulist.get(i).setStuSex(scan.next());
 63                     stus.stulist.get(i).setStuScore(scan.nextInt());
 64                     stus.stulist.get(i).setStuAge(scan.nextInt());
 65                 }
 66             }
 67             
 68             System.out.println("学生信息修改成功!!!");
 69         } else {
 70             System.out.println("您输入的学号不存在,请选择下一步操作");
 71             System.out.println("1、继续更改 2、返回上一级菜单");
 72             errStu(scan,j);
 73         }
 74     }
 75     //查看学生信息
 76     public void showprintStu(Scanner scan) {
 77         System.out.println("请输入查看学生的编号");
 78 
 79         String stuId = scan.next();
 80         final int j = 400;
 81             if ((stu1 = stus.checkStu(stuId)) != null) {
 82                 stus.printStu(stu1);
 83             } else {
 84                 System.out.println("您输入的学号不存在,请选择下一步操作");
 85                 System.out.println("1、继续查看 2、返回上一级菜单");
 86                 errStu(scan,j);
 87             }
 88 
 89         
 90     }
 91     //查看全部学生信息
 92     public void showprintAllStu() {
 93         if(stus.stulist.size() != 0) {
 94             stus.printAllStu();
 95         }else {
 96             System.out.println("没有学生信息,请先添加学生信息。");
 97         }
 98     }
 99     
100     //errors
101     public void errStu(Scanner scan,int j) {
102         try {
103             int i= scan.nextInt();
104             if (i == 1) {
105                 if (j == 100) {
106                     insertStu();        
107                 }else if(j == 200) {
108                     deleteStu(scan);
109                 }else if (j == 300) {
110                     updateStu(scan);
111                 }else if (j == 400) {
112                     showprintStu(scan);
113                 }
114             }else if(i == 2){
115                 System.out.print("\n");
116             }
117         }catch(InputMismatchException e) {
118             System.out.println("非法输入,请重新选择1或者2");
119             Scanner sc = new Scanner(System.in);
120             errStu(sc,j);
121         }catch(Exception e1) {
122             e1.printStackTrace();
123         }
124     }
125     
126 }

 

posted @ 2020-04-24 13:12  席地而坐熊  阅读(200)  评论(0编辑  收藏  举报