目录
前言
java完成这个简单的学生管理系统可以复习到好多的知识点,加强巩固java的学习。
一、代码
public class StudentSystem { public static void main (String[] args){ ArrayList<Student> list =new ArrayList<>(); loop:while (true) { 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("-------------------------------------------------------"); System.out.println("请输入您的选择"); Scanner sc =new Scanner(System.in); String choose = sc.next(); switch(choose){ case "1": addStudent(list); break; case"2": deleteStudent(list); break; case"3": updateStudent(list); break; case"4": selectStudent(list); break; case"5": System.out.println("退出"); // System.exit(0); // break;跳出一层switch循环 break loop ; default: System.out.println("没有这个选项"); } } } //添加学生 public static void addStudent( ArrayList<Student> list){ //利用空参构造先创建学生对象 Student stu =new Student(); Scanner sc =new Scanner(System.in); String id = null; while (true) { System.out.println("请录入学生的id:"); id = sc.next(); boolean flag = contain(list, id); if (flag){ System.out.println("id已经存在,请重新录入"); }else{ stu.setId(id); break; } } System.out.println("请录入学生的姓名:"); String name = sc.next(); stu.setName(name); System.out.println("请录入学生的年龄:"); int age = sc.nextInt(); stu.setAge(age); System.out.println("请录入学生的家庭住址:"); String address = sc.next(); stu.setAddress(address); //把学生对象添加到集合当中 list.add(stu); System.out.println("学生信息添加成功"); } //删除学生 public static void deleteStudent(ArrayList<Student> list){ Scanner sc =new Scanner(System.in); System.out.println("请输入要删除的id:"); String id = sc.next(); int index = getIndex(list, id); if(index>=0 ){ list.remove(index); System.out.println("id为"+id+"的学生删除成功"); }else{ System.out.println("id不存在,删除失败"); } } //修改学生 public static void updateStudent(ArrayList<Student> list){ Scanner sc =new Scanner(System.in); System.out.println("请输入要修改的id:"); String id = sc.next(); int index = getIndex(list, id); if(index==-1 ){ list.remove(index); System.out.println("要修改的id为"+id+"不存在,请重新输入"); return; } Student stu = list.get(index); System.out.println("请录入要修改学生的姓名:"); String newName = sc.next(); stu.setName(newName); System.out.println("请录入要修改学生的年龄:"); String newAge = sc.next(); stu.setName(newAge); System.out.println("请录入要修改学生的地址:"); String newAddress = sc.next(); stu.setName(newAddress); System.out.println("学校信息修改成功"); } //查询学生 public static void selectStudent(ArrayList<Student> list){ if(list.size()==0){ System.out.println("当前无学生信息,请添加后查询"); //结束方法 return; } System.out.println("id\t\t姓名\t年龄\t家庭住址"); for (int i = 0; i < list.size(); i++) { Student stu= list.get(i); System.out.println(stu.getId()+"\t"+stu.getName()+"\t"+stu.getAge()+"\t"+stu.getAddress()); } } //判断id在集合中是否存在 public static boolean contain(ArrayList<Student> list,String id){ // for (int i = 0; i < list.size(); i++) { // Student stu=list.get(i); // String sid=stu.getId(); // if(sid.equals(id)){ // return true; // } // // } // return false; return getIndex(list,id)>=0; } // 通过id获取索引的方法 public static int getIndex(ArrayList<Student> list,String id){ //遍历集合 for (int i = 0; i < list.size(); i++) { //得到每一个学生对象 Student stu=list.get(i); //得到每一个学生对象的id String sid=stu.getId(); //比较 if(sid.equals(id)){ //如果一样,返回索引 return i; } } return -1; } }
二、运行结果
总结
课后通过学的知识做了一个小小的练习,有不足的地方希望大神们多多指正。