diff --git a/src/chapter6/demo62/Manager.java b/src/chapter6/demo62/Manager.java new file mode 100644 index 0000000..d8cf999 --- /dev/null +++ b/src/chapter6/demo62/Manager.java @@ -0,0 +1,171 @@ +package chapter6.demo62; + +import java.util.LinkedList; +import java.util.Scanner; + +public class Manager { + // 创建集合对象,用于存储学生数据 + static LinkedList array = new LinkedList(); + public static void main(String[] args) { + + 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); + int choice = sc.nextInt(); + + switch (choice) { + case 1: + showAllStudents(); + break; + case 2: + addStudent(); + break; + case 3: + deleteStudent(); + break; + case 4: + updateStudent(); + break; + default: + System.out.println("谢谢你的使用"); + System.exit(0); + break; + } + } + } + + // 查看所有学生 + public static void showAllStudents() { + // 首先来判断集合中是否有数据,如果没有数据,就给出提示,并让该方法不继续往下执行 + if (array.isEmpty()) { + System.out.println("不好意思,目前没有学生信息可供查询,请回去重新选择你的操作"); + return; + } + + System.out.println("学号\t姓名\t年龄\t居住地"); + // 使用 foreach 循环遍历 + for (Student s : array) { + System.out.println(s.getId() + "\t" + s.getName() + "\t" + s.getAge() + "\t" + s.getAddress()); + } + } + + // 添加学生 + public static void addStudent() { + Scanner sc = new Scanner(System.in); + + System.out.println("请输入学生学号:"); + String id = sc.nextLine(); + + // 判断学号有没有被人占用 + + // 定义标记 + boolean flag = false; + // 遍历集合,得到每一个学生 + for (Student s : array) { + if (s.getId().equals(id)) { + flag = true; // 说明学号被占用了 + break; + } + } + + if (flag) { + System.out.println("你输入的学号已经被占用,请重新输入:"); + id = sc.nextLine(); + } + + System.out.println("请输入学生姓名:"); + String name = sc.nextLine(); + System.out.println("请输入学生年龄:"); + int age = Integer.parseInt(sc.nextLine()); + System.out.println("请输入学生居住地:"); + String address = sc.nextLine(); + // 添加学生到Array + array.add(new Student(id, name, age, address)); + // 给出提示 + System.out.println("添加学生成功"); + } + + // 删除学生 + public static void deleteStudent() { + // 删除学生的思路:键盘录入一个学号,到集合中去查找,看是否有学生使用的是该学号,如果有就删除该学生 + Scanner sc = new Scanner(System.in); + System.out.println("请输入你要删除的学生的学号:"); + String id = sc.nextLine(); + + // 我们必须给出学号不存在的时候的提示 + // 定义一个索引 + int index = -1; + // 遍历集合 + for (int x = 0; x < array.size(); x++) { + // 获取到每一个学生对象 + Student s = array.get(x); + // 拿这个学生对象的学号和键盘录入的学号进行比较 + if (s.getId().equals(id)) { + index = x; + break; + } + } + + if (index == -1) { + System.out.println("不好意思,你要删除的学号对应的学生信息不存在,请回去重新你的选择"); + } else { + array.remove(index); + System.out.println("删除学生成功"); + } + } + + // 修改学生信息 + public static void updateStudent() { + // 修改学生的思路:键盘录入一个学号,到集合中去查找,看是否有学生使用的是该学号,如果有就修改该学生 + // 创建键盘录入对象 + Scanner sc = new Scanner(System.in); + System.out.println("请输入你要修改的学生的学号:"); + String id = sc.nextLine(); + // 定义一个索引 + Student student = null; + // 遍历集合 + for (int x = 0; x < array.size(); x++) { + // 获取每一个学生对象 + Student s = array.get(x); + // 拿学生对象的学号和键盘录入的学号进行比较 + if (s.getId().equals(id)) { + student = s; + break; + } + } + if (student == null) { + System.out.println("不好意思,你要修改的学号对应的学生信息不存在,请回去重新你的选择"); + } else { + System.out.println("1 姓名"); + System.out.println("2 年龄"); + System.out.println("3 居住地"); + int choice = sc.nextInt(); + switch (choice) { + case 1: + System.out.println("请输入学生新姓名:"); + String name = sc.nextLine(); + student.setName(name); + break; + case 2: + System.out.println("请输入学生新年龄:"); + int age = sc.nextInt(); + student.setAge(age); + break; + case 3: + System.out.println("请输入学生新居住地:"); + String address = sc.nextLine(); + student.setAddress(address); + break; + } + System.out.println("修改学生成功"); + } + } +} diff --git a/src/chapter6/demo62/Student.java b/src/chapter6/demo62/Student.java new file mode 100644 index 0000000..ffd9cda --- /dev/null +++ b/src/chapter6/demo62/Student.java @@ -0,0 +1,52 @@ +package chapter6.demo62; + +public class Student { + // 学号 + private String id; + // 姓名 + private String name; + // 年龄 + private int age; + // 居住地 + private String address; + + // 构造方法 + public Student(String id, String name, int age, String address) { + this.id = id; + this.name = name; + this.age = age; + this.address = address; + } + + 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 getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } +}