一、前言
我们前面写了通讯录管理系统,现在我们来写个学生管理系统,
其实主干代码都一 不过,在学生管理系统中我添加和优化了许多功能,
如【登录密码验证,异常处理,非空判断,,防止重复添加】等。
二、学生管理系统主要功能
- 增加学生信息
- 删除学生信息
- 修改学生信息
- 查找学生信息
- 查看所有学生信息
- 退出学生管理系统
主干总览图:
我们分成了许多的方法模块,便于调用。
在学生类下
,就是普通的构造方法和get和set方法,还有一个重写的toString方法
(Alt+Insert可以快速生成上述的所有)
package 学生管理系统; public class Student { private String name; private String age; private String sex; private String number; private String classroom; public Student(){} public Student(String name, String age, String sex, String classroom,String number) { this.name = name; this.age = age; this.sex = sex; this.classroom = classroom; this.number=number; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getClassroom() { return classroom; } public void setClassroom(String classroom) { this.classroom = classroom; } public String getNumber() { return number; } public void setNumber(String number) { this.number = number; }
重写toString方法是为了让我们设置好的方式去显示:
@Override public String toString() { return "名字:"+name+" |性别:"+sex+" |年龄:"+age+" |学号:"+number+" |班级:"+classroom+"\n"; } }
在学生总部类下:
main方法:
public static void main(String[] args) { ArrayList<Student> arrayList=new ArrayList<Student>(); password();//密码验证 while(true){ menu();//菜单 Scanner sc=new Scanner(System.in); try{ int num=sc.nextInt(); switch(num){ case 1:{ addStudent(arrayList);break; } case 2:{ deleteStudent(arrayList);break; } case 3:{ reviseStudent(arrayList);break; } case 4:{ oneStudent(arrayList);break; } case 5:{ checkStudent(arrayList);break; } case 6:{ System.out.println("退出成功"); System.exit(0); } default:{ System.out.println("输入错误,输入0-6之间的数字");break; } }} catch(Exception e){ e.printStackTrace(); System.out.println("你的输入是非数字,请输入0-6的数字"); } } }//main方法
登录密码验证:
public static void password(){ System.out.println("***欢迎来到学生管理系统***"); Scanner sc=new Scanner(System.in); System.out.print("请输入管理员密码:"); String s="键盘敲烂"; int sum=3; while(true){ String ss=sc.nextLine(); if(ss.equals(s)){ System.out.println("验证成功!");break; }else{sum--; System.out.print("密码错误,你还有"+sum+"次机会:"); } if(sum==0){ System.out.println("输入上限,再见!"); System.exit(0); } }}//密码验证