我们前面写了通讯录管理系统,现在我们来写个学生管理系统,
其实主干代码都一 不过,在学生管理系统中我添加和优化了许多功能,
如【**登录密码验证,异常处理,非空判断,,防止重复添加】**等。
主干总览图:
我们分成了许多的方法模块,便于调用。
,就是普通的构造方法和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<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);
}
}}//密码验证
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<Student> 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;i<arrayList.size();i++){
Student s=arrayList.get(i);
if((arrayList.size())>1&&(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<Student> array){
if(array.isEmpty()){
System.out.println("这里没有任何信息,请添加后查看!");
}else{
System.out.println(array);}
}//查信息
public static void deleteStudent(ArrayList<Student> 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<array.size();i++){
Student s = array.get(i);
if(s.getName().equals(str)){
array.remove(i);sum++;
System.out.println("删除成功");
}
}if(sum==0){
System.out.println("没有该信息,删除失败!");
}
}
}//删信息
public static void reviseStudent(ArrayList<Student> 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;i<arrayList.size();i++){
Student s1=arrayList.get(i);
if(s1.getName().equals(name)){
sum++;
}
}
if(sum!=0){
Scanner sc1=new Scanner(System.in);
System.out.print("请输入姓名:");
String name1=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(name1);
stu.setSex(sex);
stu.setNumber(number);
int kc=0;
for (int i = 0; i < arrayList.size(); i++) {
Student stu1 = arrayList.get(i);
if(arrayList.size()>1&&(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<Student> 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<arrayList.size();i++){
Student stu=arrayList.get(i);
if(stu.getName().equals(name)){sum++;
System.out.println("姓名:"+stu.getName()+" 年龄:"+stu.getAge()+" 性
别:"+stu.getSex()+" 班级:"+stu.getClassroom()+" 学号:"+stu.getNumber());
}
}if(sum==0){
System.out.println("你查找的学生不存在");
}
}
}//找信息
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_60719453/article/details/121128918
内容来源于网络,如有侵权,请联系作者删除!