建立学生类

  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package Itheima.day12;
  7. /**
  8. *
  9. * @author NJUST'er'wang's
  10. */
  11. public class Student {
  12. //学号
  13. private String sid;
  14. //姓名
  15. private String name;
  16. //年龄
  17. private String age;
  18. //居住地
  19. private String address;
  20. public Student() {
  21. }
  22. public Student(String sid, String name, String age, String address) {
  23. this.sid = sid;
  24. this.name = name;
  25. this.age = age;
  26. this.address = address;
  27. }
  28. public void setSid(String sid) {
  29. this.sid = sid;
  30. }
  31. public void setName(String name) {
  32. this.name = name;
  33. }
  34. public void setAge(String age) {
  35. this.age = age;
  36. }
  37. public void setAddress(String address) {
  38. this.address = address;
  39. }
  40. public String getSid() {
  41. return sid;
  42. }
  43. public String getName() {
  44. return name;
  45. }
  46. public String getAge() {
  47. return age;
  48. }
  49. public String getAddress() {
  50. return address;
  51. }
  52. }

StudentManager类

main 方法

  1. public static void main(String[] args) {
  2. //创建集合对象,用于存储学生数据
  3. ArrayList<Student> array = new ArrayList<Student>();
  4. while (true) {
  5. //编写主界面
  6. System.out.println("------欢迎来到学生管理系统------");
  7. System.out.println("1 添加学生");
  8. System.out.println("2 删除学生");
  9. System.out.println("3 修改学生");
  10. System.out.println("4 查看所有学生");
  11. System.out.println("5 退出");
  12. System.out.println("请输入你的选择");
  13. //用 Scanner 实现键盘的录入
  14. Scanner sc = new Scanner(System.in);
  15. String s = sc.nextLine();
  16. //switch 完成操作
  17. switch (s) {
  18. case "1":
  19. // System.out.println("添加学生");
  20. addStudent(array);
  21. break;
  22. case "2":
  23. // System.out.println("删除学生");
  24. deleStudent(array);
  25. break;
  26. case "3":
  27. // System.out.println("修改学生");
  28. updateStudent(array);
  29. break;
  30. case "4":
  31. // System.out.println("查看所有学生");
  32. findAllStudent(array);
  33. break;
  34. case "5":
  35. System.out.println("谢谢使用");
  36. System.exit(0);//JVM退出
  37. }
  38. }
  39. }

addStudent 方法

  1. public static void addStudent(ArrayList<Student> array) {
  2. //键盘录入学生对象所需的信息
  3. Scanner sc = new Scanner(System.in);
  4. String sid;
  5. while (true) {
  6. System.out.println("请输入学生学号:");
  7. sid = sc.nextLine();
  8. boolean flag = isUesd(array, sid);
  9. if (flag) {
  10. System.out.println("你输入的学号已经被使用,请重新输入");
  11. } else {
  12. break;
  13. }
  14. }
  15. System.out.println("请输入学生姓名:");
  16. String name = sc.nextLine();
  17. System.out.println("请输入学生年龄:");
  18. String age = sc.nextLine();
  19. System.out.println("请输入学生居住地:");
  20. String address = sc.nextLine();
  21. //创建学生对象
  22. Student st = new Student();
  23. st.setSid(sid);
  24. st.setName(name);
  25. st.setAge(age);
  26. st.setAddress(address);
  27. //将学生对象添加到集合中
  28. array.add(st);
  29. //输出添加成功提示
  30. System.out.println("添加成功!");
  31. }

isUsed函数(判断学号是否被占用)

  1. public static boolean isUesd(ArrayList<Student> array, String sid) {
  2. boolean flag = false;
  3. for (int i = 0; i < array.size(); i++) {
  4. Student s = array.get(i);
  5. if (s.getSid().equals(sid)) {
  6. flag = true;
  7. break;
  8. }
  9. }
  10. return flag;
  11. }

finfAllStudent 方法(查询学生信息)

  1. public static void findAllStudent(ArrayList<Student> array) {
  2. //判断集合是否为空
  3. if (array.size() == 0) {
  4. System.out.println("无信息,请先添加学生信息");
  5. } else {
  6. //显示学生信息
  7. //\t 其实就是tab键的位置
  8. System.out.println("学号\t姓名\t年龄\t居住地");
  9. //将集合中数据取出按照对应格式显示学生信息,年龄补充“岁”;
  10. for (int i = 0; i < array.size(); i++) {
  11. Student get = array.get(i);
  12. System.out.println(get.getSid() + "\t" + get.getName() + "\t" + get.getAge() + "岁\t" + get.getAddress());
  13. }
  14. }
  15. }

deleteStudent 方法(删除学生信息)

  1. public static void deleStudent(ArrayList<Student> array) {
  2. Scanner sc = new Scanner(System.in);
  3. System.out.println("请输入你要删除的学号:");
  4. String sid = sc.nextLine();
  5. int index = -1;
  6. //遍历集合将对应学生对象从集合中删除
  7. for (int i = 0; i < array.size(); i++) {
  8. Student get = array.get(i);
  9. if (get.getSid().equals(sid)) {
  10. // array.remove(i);
  11. index = i;
  12. break;
  13. }
  14. }
  15. if (index == -1) {
  16. System.out.println("该信息不存在,请重新输入");
  17. } else {
  18. array.remove(index);
  19. System.out.println("删除成功!!!");
  20. }
  21. }

updateStudent 方法

  1. public static void updateStudent(ArrayList<Student> array) {
  2. Scanner sc = new Scanner(System.in);
  3. System.out.println("请输入要修改的学号");
  4. String sid = sc.nextLine();
  5. //键盘录入学生的新名
  6. System.out.println("请输入新姓名");
  7. String name = sc.nextLine();
  8. System.out.println("请输入新年龄");
  9. String age = sc.nextLine();
  10. System.out.println("请输入新居住地");
  11. String address = sc.nextLine();
  12. //创建学生对象
  13. Student s = new Student();
  14. s.setSid(sid); //必须要,新建对象内部值为默认null
  15. s.setName(name);
  16. s.setAge(age);
  17. s.setAddress(address);
  18. for (int i = 0; i < array.size(); i++) {
  19. Student get = array.get(i);
  20. if (get.getSid().equals(sid)) {
  21. array.set(i, s);
  22. break;
  23. }
  24. }
  25. System.out.println("修改学生成功!!!");
  26. }