public static void main(String[] args) { ArrayList<Student> list = new ArrayList(); Scanner sc = new Scanner(System.in); lo: while (true) { System.out.println("~~~~~~~~欢迎来到学生管理系统~~~~~~~~"); System.out.println("1.添加学生\t" + "\t2.删除学生"); System.out.println("3.修改学生\t" + "\t4.查看所有学生"); System.out.println("5.按姓名查看学生"+"\t6.退出"); System.out.println("请输入需要操作功能的序号:"); String index = sc.next(); switch (index) { case "1": //添加学生 addStudent(list); break; case "2": //删除学生 deleteStudent(list); break; case "3": //修改学生 updateStudent(list); break; case "4": //查看所有学生 queryStudents(list); break; case "5": //按姓名查看学生 nameQueryStudent(list); break; case "6": //退出系统 break lo; default: System.out.println("您输入的序号有误,请检查后重试!"); break; } } } //按姓名查看学生信息 private static void nameQueryStudent(ArrayList<Student> list) { if (list.size() == 0) { System.out.println("无信息,请添加后重新查询"); return; } Scanner sc = new Scanner(System.in); System.out.println("请输入学生姓名:"); String name = sc.next(); for (int i = 0; i < list.size(); i++) { Student stu = list.get(i); if(stu.getName().equals(name)){ System.out.println(stu.getId() + "\t" + stu.getName() + "\t" + stu.getAge() + "岁" + "\t" + stu.getPlace()); }else{ System.out.println("查无此人!"); return; } } } //查看所有学生信息 private static void queryStudents(ArrayList<Student> list) { if (list.size() == 0) { System.out.println("无信息,请添加后重新查询"); return; } System.out.println("学号\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.getPlace()); } } //修改学生信息 private static void updateStudent(ArrayList<Student> list) { if (list.size() == 0) { System.out.println("无信息,请添加后修改"); return; } Scanner sc = new Scanner(System.in); System.out.println("请输入学号:"); String id = sc.next(); int index = getIndex(list, id); if(index==-1){ System.out.println("该学号不存在!"); }else{ System.out.println("请输入学生姓名:"); String name = sc.next(); System.out.println("请输入学生年龄:"); int age = sc.nextInt(); System.out.println("请输入学生居住地:"); String place = sc.next(); Student stu =new Student(id,name,age,place); list.set(index,stu); System.out.println("修改成功"); } } //删除学生信息 private static void deleteStudent(ArrayList<Student> list) { if (list.size() == 0) { System.out.println("无信息,请添加后删除"); return; } Scanner sc = new Scanner(System.in); String id; while (true) { System.out.println("请输入学号:"); id = sc.next(); int index = getIndex(list, id); if (index == -1) { System.out.println("该学号不存在!"); } else { list.remove(index); System.out.println("删除成功"); break; } } } //添加学生 private static void addStudent(ArrayList<Student> list) { Scanner sc = new Scanner(System.in); String id; while (true) { System.out.println("请输入学号:"); id = sc.next(); int index = getIndex(list, id); if (index == -1) { break; } } System.out.println("请输入学生姓名:"); String name = sc.next(); System.out.println("请输入学生年龄:"); int age = sc.nextInt(); System.out.println("请输入学生居住地:"); String place = sc.next(); Student stu = new Student(id, name, age, place); list.add(stu); System.out.println("添加成功"); } /*** * getIndex : 接收一个集合对象,接收一个学生学号 * * 查找这个学号,在集合中出现的索引位置 */ private static int getIndex(ArrayList<Student> list, String id) { int index = -1; for (int i = 0; i < list.size(); i++) { Student stu = list.get(i); if (stu.getId().equals(id)) { index = i; } } return index; }
public class Student { private String id; private String name; private int age; private String place; public Student() { } public Student(String id, String name, int age, String place) { this.id = id; this.name = name; this.age = age; this.place = place; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getPlace() { return place; } public void setPlace(String place) { this.place = place; } }