学生管理系统(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 }