目录
一、前言
二、学生管理系统主要功能
在学生类下
在学生总部类下:
main方法:
登录密码验证:
打印菜单:
增加学生信息:
查看学生信息:
删除学生信息:
修改学生信息:
查找学生信息:
代码效果演示图:
我们前面写了通讯录管理系统,现在我们来写个学生管理系统,
其实主干代码都一 不过,在学生管理系统中我添加和优化了许多功能,
如【登录密码验证,异常处理,非空判断,,防止重复添加】等。
增加学生信息
删除学生信息
修改学生信息
查找学生信息
查看所有学生信息
退出学生管理系统
主干总览图:
我们分成了许多的方法模块,便于调用。
,就是普通的构造方法和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";
}
}
public static void main(String[] args) {
ArrayList arrayList=new ArrayList();
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);
}
}}//密码验证
public static void menu(){
System.out.println("-------欢迎来到学生管理系统-------");
System.out.println("1.增加学生");
System.out.println("2.删除学生");
System.out.println("3.修改学生");
System.out.println("4.查找学生");
System.out.println("5.查看所有学生");
System.out.println("6.退出");
System.out.println("请选择:");
}//打印菜单页
public static void addStudent(ArrayList arrayList){
Scanner sc1=new Scanner(System.in);
System.out.print("请输入姓名:");
String name=sc1.nextLine();
System.out.print("请输入年龄:");
String age=sc1.nextLine();
System.out.print("请输入性别:");
String sex=sc1.nextLine();
System.out.print("请输入学号:");
String number=sc1.nextLine();
System.out.print("请输入班级:");
String classroom=sc1.nextLine();
Student stu=new Student();
stu.setAge(age);
stu.setClassroom(classroom);
stu.setName(name);
stu.setSex(sex);
stu.setNumber(number);
int kong=0;//用来定义是否已经存在的学号
for (int i=0;i1&&(s.getNumber().equals(number))&&(s.getClassroom().equals(classroom))){
System.out.println("添加失败,你输入的学号在同一班级已存在");kong++;//存在就加一
arrayList.remove(stu);
}
}
if(name.length()==0||age.length()==0||sex.length()==0||classroom.length()==0||number.length()==0||kong!=0){
System.out.println("有某项为空或学号在同一班已存在,添加失败");
arrayList.remove(stu);//移除该项
} else{
arrayList.add(stu);
System.out.println("添加成功");}
}//加信息
public static void checkStudent(ArrayList array){
if(array.isEmpty()){
System.out.println("这里没有任何信息,请添加后查看!");
}else{
System.out.println(array);}
}//查信息
public static void deleteStudent(ArrayList array){
if(array.isEmpty()){
System.out.println("这里没有任何信息,请添加后在进行操作!");
}else{
Scanner sc=new Scanner(System.in);
System.out.println("请输入你要删除信息的名字");
String str=sc.nextLine();
int sum=0;
for(int i=0;i
public static void reviseStudent(ArrayList arrayList){
if(arrayList.isEmpty()){
System.out.println("没有任何信息,请输入后在进行操作!");
}else {
int sum=0;
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要换信息的名字");
String name=sc.nextLine();
for(int i=0;i1&&(stu1.getNumber().equals(number)&&stu1.getClassroom().equals(classroom))){
kc++;
System.out.println("添加失败,已经存在此学号在同一班");break;
}
if(name1.length()==0||age.length()==0||sex.length()==0||classroom.length()==0||number.length()==0) {
System.out.println("有某项为空,添加失败"); break;
}
if (stu1.getName().equals(name)&&kc==0) {
arrayList.set(i, stu);
System.out.println("修改成功");break;
}
}
}
if(sum==0){
System.out.println("修改失败,没有找到对应的名字");
}
} }//改信息
public static void oneStudent(ArrayList arrayList){
if (arrayList.isEmpty()){
System.out.println("没有学生信息,请添加后再查找");
}else{
Scanner sc=new Scanner(System.in);
System.out.print("请输入你要查找学生的名字:");
String name=sc.nextLine();
int sum=0;
for(int i=0;i