思路
创建学生类
定义添加学生信息
查看学生信息
修改学生信息
运行结果
类的编写
package day; public class Student { private String name; private String age; private String sid; private String address; public Student() {} public Student(String sid, String name, String age, String address) { this.sid = sid; this.name = name; this.age = age; this.address = address; } 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 getSid() { return sid; } public void setSid(String sid) { this.sid = sid; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } }
package day; import java.util.ArrayList; import java.util.Scanner; public class StudentManager { public static void main(String[] args) { ArrayList<Student> array = new ArrayList<Student>(); 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("请输入你的选择:"); Scanner sc = new Scanner(System.in); String line = sc.nextLine(); switch (line) { case "1": // System.out.println("添加学生"); addStudent(array); break; case "2": // System.out.println("删除学生"); deleteStudent(array); break; case "3": // System.out.println("修改学生"); updataStudent(array); break; case "4": findAllStudent(array); break; case "5": System.out.println("谢谢使用"); // break; System.exit(0);//JVM退出 } } } public static void addStudent(ArrayList<Student> array) { //键盘录入学生对象所需要的信息,显示提示信息,提示要输入何种信息 Scanner sc = new Scanner(System.in); //把sid定义在循环之外,让它在while循环外面可以被访问 String sid; //循环实现 while (true){ System.out.println("请输入学生学号:"); sid = sc.nextLine(); boolean flag = isUsed(array,sid); if (flag) { System.out.println("此学号已经存在请重新输入:"); }else { break; } } System.out.println("请输入学生姓名:"); String name = sc.nextLine(); System.out.println("请输出学生年龄:"); String age = sc.nextLine(); System.out.println("请输入学生地址:"); String address = sc.nextLine(); //创建学生对象,把键盘的数据赋值给学生对象的成员变量 Student s = new Student(); s.setSid(sid); s.setName(name); s.setAge(age); s.setAddress(address); //将学生对象添加到集合里 array.add(s); System.out.println("添加学生成功"); } public static void findAllStudent(ArrayList<Student> array) { if (array.size() == 0) { System.out.println("无信息,请先添加信息在查询"); //为了让程序不在往下走了,用return return; } System.out.println("学号\t姓名\t年龄\t居住地"); for (int i = 0; i < array.size(); i++) { Student s = array.get(i); System.out.println(s.getSid() + "\t" + s.getName() + "\t" + s.getAge() + "\t" + s.getAddress()); } } public static void deleteStudent(ArrayList<Student> array) { Scanner sc = new Scanner(System.in); System.out.println("请输入你要删除的学生的学号:"); String sid = sc.nextLine(); int index = -1; for (int i = 0; i < array.size(); i++) { Student s = array.get(i); if (s.getSid().equals(sid)) { index = i; break; } } if (index == -1) { System.out.println("该学生信息不存在,请重新输入"); } else { array.remove(index); System.out.println("删除学生成功!"); } } public static void updataStudent(ArrayList<Student> array) { Scanner sc = new Scanner(System.in); System.out.println("请输入要修改一个学生学号:"); String sid = sc.nextLine(); int index = -1; for (int i = 0; i < array.size(); i++) { Student student = array.get(i); if (student.getSid().equals(sid)) { index = i; break; } } if (index == -1) { System.out.println("你输入的学号有误,请重新输入"); } else { System.out.println("请输入学生新姓名"); String name = sc.nextLine(); System.out.println("请输入学生新年龄"); String age = sc.nextLine(); System.out.println("请输入学生新的地址"); String address = sc.nextLine(); Student ss = new Student(); ss.setSid(sid); ss.setName(name); ss.setAge(age); ss.setAddress(address); array.set(index, ss); System.out.println("修改学生成功"); } } public static boolean isUsed(ArrayList<Student> array, String sid) { boolean flag = false; for (int i = 0; i < array.size(); i++) { Student s = array.get(i); if (s.getSid().equals(sid)) { flag = true; break; } } return flag; } }