public class Student_01 { public String name; public int StudentId; public int age; }
public class Test_01{ public static void main(String[] args) { //定义集合对象,承接学生信息 ArrayList<Student_01> list = new ArrayList<>(); Student_01 stu1 = new Student_01(); Student_01 stu2 = new Student_01(); stu1.name = "张三"; stu2.name = "张四"; stu1.age = 18; stu2.age = 19; stu1.StudentId = 101; stu2.StudentId = 102; list.add(stu1); list.add(stu2); //定义Scanner对象,当做参数进行传输 Scanner sc = new Scanner(System.in); while(true){ //接收用户输入的指令 int choose = choose(sc); //通过switch流程语句将指令匹配响应的方法 switch (choose){ case 1: insertStudentInfo(list,sc); break; case 2: updateStudentAge(list,sc); break; case 3: showStduentInfo(list); break; case 4: selectStudentByCode(list,sc); break; case 5: exit(); return; default: System.out.println("功能尚未上线,尽请期待"); break; } } } //接收用户输入的指令,返回用户输入的指令信息 public static int choose(Scanner sc){ 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("请输入您的指令"); return sc.nextInt(); } //新增方法,新增同学信息放入集合中 public static void insertStudentInfo(ArrayList<Student_01> list,Scanner sc){ //创建Student对象,用于接收同学的属性信息 Student_01 student = new Student_01(); System.out.println("请输入同学的姓名"); student.name = sc.next(); System.out.println("请输入同学的学号"); student.StudentId = sc.nextInt(); System.out.println("请输入同学的年龄"); student.age = sc.nextInt(); //将属性信息放入集合中 list.add(student); } //更新同学的年龄信息 public static void updateStudentAge(ArrayList<Student_01> list,Scanner sc){ //循环当前的集合 for (int i = 0; i < list.size(); i++) { System.out.println("请输入姓名为"+list.get(i).name+"的年龄"); //方式一 将年龄信息赋给集合中的student对象的age属性 list.get(i).age = sc.nextInt(); //方式二 将当前已经承接了最新年龄信息的student对象替换原来的student对象 // Student student = list.get(i); // list.set(i,student); } } //展示所有同学的信息 public static void showStduentInfo(ArrayList<Student_01> list){ //通过循环进行遍历 for (int i = 0; i < list.size(); i++) { System.out.println("当前同学的姓名:"+list.get(i).name+",年龄:"+list.get(i).age+",学号:"+list.get(i).StudentId); } } //通过学号匹配某一位同学,展示当前同学的信息 public static void selectStudentByCode(ArrayList<Student_01> list,Scanner sc){ System.out.println("请输入一个学号"); //定义变量接收学号 int code = sc.nextInt(); //遍历所有同学 for (int i = 0; i < list.size(); i++) { if(list.get(i).StudentId== code){ System.out.println("学号相匹配的当前同学的姓名:"+list.get(i).name+ ",年龄:"+list.get(i).age+",学号:"+list.get(i).StudentId); break; } if(i == list.size()-1){ System.out.println("您输入的学号有误,请检查"); } } } //退出 public static void exit(){ System.out.println("您已退出当前系统"); System.out.println("-------------学生管理系统------------"); } }