学生管理系统案例

电玩女神 2024-04-17 06:22 187阅读 0赞

学生管理系统案例

1学生管理系统案例需求

在这里插入图片描述
利用集合完成对学生的增删改查四个功能

2学生管理系统案例实现

1创建学生类

  1. package com.igeek_02_01;
  2. /**
  3. * @ClassName: Student
  4. * @Description: 学生类
  5. * @date 2017年10月14日 上午10:35:59
  6. * Company www.igeekhome.com
  7. *
  8. */
  9. public class Student {
  10. /**
  11. * @Fields id : 学号
  12. */
  13. private String id;
  14. /**
  15. * @Fields name : 姓名
  16. */
  17. private String name;
  18. /**
  19. * @Fields age : 年龄
  20. */
  21. private String age;
  22. /**
  23. * @Fields address : 居住地
  24. */
  25. private String address;
  26. /**
  27. * @Title: Student
  28. */
  29. public Student() {
  30. }
  31. /**
  32. * @Title: Student
  33. * @param id
  34. * @param name
  35. * @param age
  36. * @param address
  37. */
  38. public Student(String id, String name, String age, String address) {
  39. this.id = id;
  40. this.name = name;
  41. this.age = age;
  42. this.address = address;
  43. }
  44. /**
  45. * @return the id
  46. */
  47. public String getId() {
  48. return id;
  49. }
  50. /**
  51. * @param id the id to set
  52. */
  53. public void setId(String id) {
  54. this.id = id;
  55. }
  56. /**
  57. * @return the name
  58. */
  59. public String getName() {
  60. return name;
  61. }
  62. /**
  63. * @param name the name to set
  64. */
  65. public void setName(String name) {
  66. this.name = name;
  67. }
  68. /**
  69. * @return the age
  70. */
  71. public String getAge() {
  72. return age;
  73. }
  74. /**
  75. * @param age the age to set
  76. */
  77. public void setAge(String age) {
  78. this.age = age;
  79. }
  80. /**
  81. * @return the address
  82. */
  83. public String getAddress() {
  84. return address;
  85. }
  86. /**
  87. * @param address the address to set
  88. */
  89. public void setAddress(String address) {
  90. this.address = address;
  91. }
  92. }
  93. package com.igeek_02_01;
  94. /**
  95. * @ClassName: StudentManagerTest
  96. * @Description: 学生管理系统的主类
  97. * @date 2017年10月14日 上午10:35:59
  98. * Company www.igeekhome.com
  99. *
  100. * 这是我的学生管理系统的主类
  101. *
  102. * 步骤如下:
  103. * A:定义学生类
  104. * B:学生管理系统的主界面的代码编写
  105. * C:学生管理系统的查看所有学生的代码编写
  106. * D:学生管理系统的添加学生的代码编写
  107. * E:学生管理系统的删除学生的代码编写
  108. * F:学生管理系统的修改学生的代码编写
  109. *
  110. */
  111. public class StudentManagerTest {
  112. }

2学生管理系统界面实现

  1. package com.igeek_02_02;
  2. import java.util.ArrayList;
  3. import java.util.Scanner;
  4. /**
  5. * @ClassName: StudentManagerTest
  6. * @Description: 学生管理系统的主类
  7. * @date 2017年10月14日 上午10:50:19
  8. * Company www.igeekhome.com
  9. *
  10. * 这是我的学生管理系统的主类
  11. *
  12. * 步骤如下:
  13. * A:定义学生类
  14. * B:学生管理系统的主界面的代码编写
  15. * C:学生管理系统的查看所有学生的代码编写
  16. * D:学生管理系统的添加学生的代码编写
  17. * E:学生管理系统的删除学生的代码编写
  18. * F:学生管理系统的修改学生的代码编写
  19. */
  20. public class StudentManagerTest {
  21. public static void main(String[] args) {
  22. // 为了让程序能够回到这里来,我们使用循环
  23. while (true) {
  24. // 这是学生管理系统的主界面
  25. System.out.println("--------欢迎来到学生管理系统--------");
  26. System.out.println("1 查看所有学生");
  27. System.out.println("2 添加学生");
  28. System.out.println("3 删除学生");
  29. System.out.println("4 修改学生");
  30. System.out.println("5 退出");
  31. System.out.println("请输入你的选择:");
  32. // 创建键盘录入对象
  33. Scanner sc = new Scanner(System.in);
  34. String choiceString = sc.nextLine();
  35. // 用switch语句实现选择
  36. switch (choiceString) {
  37. case "1":
  38. // 查看所有学生
  39. break;
  40. case "2":
  41. // 添加学生
  42. break;
  43. case "3":
  44. // 删除学生
  45. break;
  46. case "4":
  47. // 修改学生
  48. break;
  49. case "5":
  50. // 退出
  51. // System.out.println("谢谢你的使用");
  52. // break;
  53. default:
  54. System.out.println("谢谢你的使用");
  55. System.exit(0); // JVM退出
  56. break;
  57. }
  58. }
  59. }
  60. }

3学生管理系统之查询所有学生功能

  1. package com.igeek_02_03;
  2. import java.util.ArrayList;
  3. import java.util.Scanner;
  4. /**
  5. * @ClassName: StudentManagerTest
  6. * @Description: 学生管理系统的主类
  7. * @date 2017年10月14日 上午10:50:19
  8. * Company www.igeekhome.com
  9. *
  10. * 这是我的学生管理系统的主类
  11. *
  12. * 步骤如下:
  13. * A:定义学生类
  14. * B:学生管理系统的主界面的代码编写
  15. * C:学生管理系统的查看所有学生的代码编写
  16. * D:学生管理系统的添加学生的代码编写
  17. * E:学生管理系统的删除学生的代码编写
  18. * F:学生管理系统的修改学生的代码编写
  19. */
  20. public class StudentManagerTest {
  21. public static void main(String[] args) {
  22. // 创建集合对象,用于存储学生数据
  23. ArrayList<Student> array = new ArrayList<Student>();
  24. // 为了让程序能够回到这里来,我们使用循环
  25. while (true) {
  26. // 这是学生管理系统的主界面
  27. System.out.println("--------欢迎来到学生管理系统--------");
  28. System.out.println("1 查看所有学生");
  29. System.out.println("2 添加学生");
  30. System.out.println("3 删除学生");
  31. System.out.println("4 修改学生");
  32. System.out.println("5 退出");
  33. System.out.println("请输入你的选择:");
  34. // 创建键盘录入对象
  35. Scanner sc = new Scanner(System.in);
  36. String choiceString = sc.nextLine();
  37. // 用switch语句实现选择
  38. switch (choiceString) {
  39. case "1":
  40. // 查看所有学生
  41. findAllStudent(array);
  42. break;
  43. case "2":
  44. // 添加学生
  45. break;
  46. case "3":
  47. // 删除学生
  48. break;
  49. case "4":
  50. // 修改学生
  51. break;
  52. case "5":
  53. // 退出
  54. // System.out.println("谢谢你的使用");
  55. // break;
  56. default:
  57. System.out.println("谢谢你的使用");
  58. System.exit(0); // JVM退出
  59. break;
  60. }
  61. }
  62. }
  63. /**
  64. * @Title: findAllStudent
  65. * @Description: 查看所有学生
  66. * @param array
  67. */
  68. public static void findAllStudent(ArrayList<Student> array) {
  69. //首先来判断集合中是否有数据,如果没有数据,就给出提示,并让该方法不继续往下执行
  70. if(array.size() == 0) {
  71. System.out.println("不好意思,目前没有学生信息可供查询,请回去重新选择你的操作");
  72. return;
  73. }
  74. //\t 其实就是一个tab键的位置
  75. System.out.println("学号\t姓名\t年龄\t居住地");
  76. for(int x=0; x<array.size(); x++) {
  77. Student s = array.get(x);
  78. System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getAddress());
  79. }
  80. }
  81. }

4学生管理系统之添加学生功能

  1. package com.igeek_02_04;
  2. import java.util.ArrayList;
  3. import java.util.Scanner;
  4. /**
  5. * @ClassName: StudentManagerTest
  6. * @Description: 学生管理系统的主类
  7. * @date 2017年10月14日 上午10:50:19
  8. * Company www.igeekhome.com
  9. *
  10. * 这是我的学生管理系统的主类
  11. *
  12. * 步骤如下:
  13. * A:定义学生类
  14. * B:学生管理系统的主界面的代码编写
  15. * C:学生管理系统的查看所有学生的代码编写
  16. * D:学生管理系统的添加学生的代码编写
  17. * E:学生管理系统的删除学生的代码编写
  18. * F:学生管理系统的修改学生的代码编写
  19. */
  20. public class StudentManagerTest {
  21. public static void main(String[] args) {
  22. // 创建集合对象,用于存储学生数据
  23. ArrayList<Student> array = new ArrayList<Student>();
  24. // 为了让程序能够回到这里来,我们使用循环
  25. while (true) {
  26. // 这是学生管理系统的主界面
  27. System.out.println("--------欢迎来到学生管理系统--------");
  28. System.out.println("1 查看所有学生");
  29. System.out.println("2 添加学生");
  30. System.out.println("3 删除学生");
  31. System.out.println("4 修改学生");
  32. System.out.println("5 退出");
  33. System.out.println("请输入你的选择:");
  34. // 创建键盘录入对象
  35. Scanner sc = new Scanner(System.in);
  36. String choiceString = sc.nextLine();
  37. // 用switch语句实现选择
  38. switch (choiceString) {
  39. case "1":
  40. // 查看所有学生
  41. findAllStudent(array);
  42. break;
  43. case "2":
  44. // 添加学生
  45. addStudent(array);
  46. break;
  47. case "3":
  48. // 删除学生
  49. break;
  50. case "4":
  51. // 修改学生
  52. break;
  53. case "5":
  54. // 退出
  55. // System.out.println("谢谢你的使用");
  56. // break;
  57. default:
  58. System.out.println("谢谢你的使用");
  59. System.exit(0); // JVM退出
  60. break;
  61. }
  62. }
  63. }
  64. /*
  65. //添加学生
  66. public static void addStudent(ArrayList<Student> array) {
  67. //创建键盘录入对象
  68. Scanner sc = new Scanner(System.in);
  69. System.out.println("请输入学生学号:");
  70. String id = sc.nextLine();
  71. System.out.println("请输入学生姓名:");
  72. String name = sc.nextLine();
  73. System.out.println("请输入学生年龄:");
  74. String age = sc.nextLine();
  75. System.out.println("请输入学生居住地:");
  76. String address = sc.nextLine();
  77. //创建学生对象
  78. Student s = new Student();
  79. s.setId(id);
  80. s.setName(name);
  81. s.setAge(age);
  82. s.setAddress(address);
  83. //把学生对象作为元素添加到集合
  84. array.add(s);
  85. //给出提示
  86. System.out.println("添加学生成功");
  87. }
  88. */
  89. /**
  90. * @Title: addStudent
  91. * @Description: 添加学生
  92. * @param array
  93. */
  94. public static void addStudent(ArrayList<Student> array) {
  95. //创建键盘录入对象
  96. Scanner sc = new Scanner(System.in);
  97. //为了让id能够被访问到,我们就把id定义在了循环的外面
  98. String id;
  99. //为了让代码能够回到这里,用循环
  100. while(true) {
  101. System.out.println("请输入学生学号:");
  102. //String id = sc.nextLine();
  103. id = sc.nextLine();
  104. //判断学号有没有被人占用
  105. //定义标记
  106. boolean flag = false;
  107. //遍历集合,得到每一个学生
  108. for(int x=0; x<array.size(); x++) {
  109. Student s = array.get(x);
  110. //获取该学生的学号,和键盘录入的学号进行比较
  111. if(s.getId().equals(id)) {
  112. flag = true; //说明学号被占用了
  113. break;
  114. }
  115. }
  116. if(flag) {
  117. System.out.println("你输入的学号已经被占用,请重新输入");
  118. }else {
  119. break; //结束循环
  120. }
  121. }
  122. System.out.println("请输入学生姓名:");
  123. String name = sc.nextLine();
  124. System.out.println("请输入学生年龄:");
  125. String age = sc.nextLine();
  126. System.out.println("请输入学生居住地:");
  127. String address = sc.nextLine();
  128. //创建学生对象
  129. Student s = new Student();
  130. s.setId(id);
  131. s.setName(name);
  132. s.setAge(age);
  133. s.setAddress(address);
  134. //把学生对象作为元素添加到集合
  135. array.add(s);
  136. //给出提示
  137. System.out.println("添加学生成功");
  138. }
  139. }

5学生管理系统之删除学生功能

  1. package com.igeek_02_05;
  2. import java.util.ArrayList;
  3. import java.util.Scanner;
  4. /**
  5. * @ClassName: StudentManagerTest
  6. * @Description: 学生管理系统的主类
  7. * @date 2017年10月14日 上午10:50:19
  8. * Company www.igeekhome.com
  9. *
  10. * 这是我的学生管理系统的主类
  11. *
  12. * 步骤如下:
  13. * A:定义学生类
  14. * B:学生管理系统的主界面的代码编写
  15. * C:学生管理系统的查看所有学生的代码编写
  16. * D:学生管理系统的添加学生的代码编写
  17. * E:学生管理系统的删除学生的代码编写
  18. * F:学生管理系统的修改学生的代码编写
  19. */
  20. public class StudentManagerTest {
  21. public static void main(String[] args) {
  22. // 创建集合对象,用于存储学生数据
  23. ArrayList<Student> array = new ArrayList<Student>();
  24. // 为了让程序能够回到这里来,我们使用循环
  25. while (true) {
  26. // 这是学生管理系统的主界面
  27. System.out.println("--------欢迎来到学生管理系统--------");
  28. System.out.println("1 查看所有学生");
  29. System.out.println("2 添加学生");
  30. System.out.println("3 删除学生");
  31. System.out.println("4 修改学生");
  32. System.out.println("5 退出");
  33. System.out.println("请输入你的选择:");
  34. // 创建键盘录入对象
  35. Scanner sc = new Scanner(System.in);
  36. String choiceString = sc.nextLine();
  37. // 用switch语句实现选择
  38. switch (choiceString) {
  39. case "1":
  40. //查看所有学生
  41. findAllStudent(array);
  42. break;
  43. case "2":
  44. //添加学生
  45. addStudent(array);
  46. break;
  47. case "3":
  48. //删除学生
  49. deleteStudent(array);
  50. break;
  51. case "4":
  52. // 修改学生
  53. break;
  54. case "5":
  55. // 退出
  56. // System.out.println("谢谢你的使用");
  57. // break;
  58. default:
  59. System.out.println("谢谢你的使用");
  60. System.exit(0); // JVM退出
  61. break;
  62. }
  63. }
  64. }
  65. /**
  66. * @Title: deleteStudent
  67. * @Description: 删除学生
  68. * @param array
  69. */
  70. public static void deleteStudent(ArrayList<Student> array) {
  71. //删除学生的思路:键盘录入一个学号,到集合中去查找,看是否有学生使用的是该学号,如果有就删除该学生
  72. //创建键盘录入对象
  73. Scanner sc = new Scanner(System.in);
  74. System.out.println("请输入你要删除的学生的学号:");
  75. String id = sc.nextLine();
  76. /*
  77. //遍历集合
  78. for(int x=0; x<array.size(); x++) {
  79. //获取到每一个学生对象
  80. Student s = array.get(x);
  81. //拿这个学生对象的学号和键盘录入的学号进行比较
  82. if(s.getId().equals(id)) {
  83. array.remove(x); //根据索引删除
  84. break;
  85. }
  86. }
  87. //给出提示
  88. System.out.println("删除学生成功");
  89. */
  90. //我们必须给出学号不存在的时候的提示
  91. //定义一个索引
  92. int index = -1;
  93. //遍历集合
  94. for(int x=0; x<array.size(); x++) {
  95. //获取到每一个学生对象
  96. Student s = array.get(x);
  97. //拿这个学生对象的学号和键盘录入的学号进行比较
  98. if(s.getId().equals(id)) {
  99. index = x;
  100. break;
  101. }
  102. }
  103. if(index == -1) {
  104. System.out.println("不好意思,你要删除的学号对应的学生信息不存在,请回去重新你的选择");
  105. }else {
  106. array.remove(index);
  107. System.out.println("删除学生成功");
  108. }
  109. }
  110. }

6学生管理系统之修改学生功能

  1. package com.igeek_02_06;
  2. import java.util.ArrayList;
  3. import java.util.Scanner;
  4. /**
  5. * @ClassName: StudentManagerTest
  6. * @Description: 学生管理系统的主类
  7. * @date 2017年10月14日 上午10:50:19
  8. * Company www.igeekhome.com
  9. *
  10. * 这是我的学生管理系统的主类
  11. *
  12. * 步骤如下:
  13. * A:定义学生类
  14. * B:学生管理系统的主界面的代码编写
  15. * C:学生管理系统的查看所有学生的代码编写
  16. * D:学生管理系统的添加学生的代码编写
  17. * E:学生管理系统的删除学生的代码编写
  18. * F:学生管理系统的修改学生的代码编写
  19. */
  20. public class StudentManagerTest {
  21. public static void main(String[] args) {
  22. // 创建集合对象,用于存储学生数据
  23. ArrayList<Student> array = new ArrayList<Student>();
  24. // 为了让程序能够回到这里来,我们使用循环
  25. while (true) {
  26. // 这是学生管理系统的主界面
  27. System.out.println("--------欢迎来到学生管理系统--------");
  28. System.out.println("1 查看所有学生");
  29. System.out.println("2 添加学生");
  30. System.out.println("3 删除学生");
  31. System.out.println("4 修改学生");
  32. System.out.println("5 退出");
  33. System.out.println("请输入你的选择:");
  34. // 创建键盘录入对象
  35. Scanner sc = new Scanner(System.in);
  36. String choiceString = sc.nextLine();
  37. // 用switch语句实现选择
  38. switch (choiceString) {
  39. case "1":
  40. // 查看所有学生
  41. findAllStudent(array);
  42. break;
  43. case "2":
  44. //添加学生
  45. addStudent(array);
  46. break;
  47. case "3":
  48. //删除学生
  49. deleteStudent(array);
  50. break;
  51. case "4":
  52. // 修改学生
  53. updateStudent(array);
  54. break;
  55. case "5":
  56. // 退出
  57. // System.out.println("谢谢你的使用");
  58. // break;
  59. default:
  60. System.out.println("谢谢你的使用");
  61. System.exit(0); // JVM退出
  62. break;
  63. }
  64. }
  65. }
  66. /**
  67. * @Title: updateStudent
  68. * @Description: 修改学生
  69. * @param array
  70. */
  71. public static void updateStudent(ArrayList<Student> array) {
  72. //修改学生的思路:键盘录入一个学号,到集合中去查找,看是否有学生使用的是该学号,如果有就修改该学生
  73. //创建键盘录入对象
  74. Scanner sc = new Scanner(System.in);
  75. System.out.println("请输入你要修改的学生的学号:");
  76. String id = sc.nextLine();
  77. //定义一个索引
  78. int index = -1;
  79. //遍历集合
  80. for(int x=0; x<array.size(); x++) {
  81. //获取每一个学生对象
  82. Student s = array.get(x);
  83. //拿学生对象的学号和键盘录入的学号进行比较
  84. if(s.getId().equals(id)) {
  85. index = x;
  86. break;
  87. }
  88. }
  89. if(index == -1) {
  90. System.out.println("不好意思,你要修改的学号对应的学生信息不存在,请回去重新你的选择");
  91. }else {
  92. System.out.println("请输入学生新姓名:");
  93. String name = sc.nextLine();
  94. System.out.println("请输入学生新年龄:");
  95. String age = sc.nextLine();
  96. System.out.println("请输入学生新居住地:");
  97. String address = sc.nextLine();
  98. //创建学生对象
  99. Student s = new Student();
  100. s.setId(id);
  101. s.setName(name);
  102. s.setAge(age);
  103. s.setAddress(address);
  104. //修改集合中的学生对象
  105. array.set(index, s);
  106. //给出提示
  107. System.out.println("修改学生成功");
  108. }
  109. }
  110. }

3学生管理系统最终完整代码

  1. package com.igeek_03;
  2. import java.util.ArrayList;
  3. import java.util.Scanner;
  4. /**
  5. * @ClassName: StudentManagerTest
  6. * @Description: 学生管理系统的主类
  7. * @date 2017年10月14日 上午10:50:19
  8. * Company www.igeekhome.com
  9. *
  10. * 这是我的学生管理系统的主类
  11. *
  12. * 步骤如下:
  13. * A:定义学生类
  14. * B:学生管理系统的主界面的代码编写
  15. * C:学生管理系统的查看所有学生的代码编写
  16. * D:学生管理系统的添加学生的代码编写
  17. * E:学生管理系统的删除学生的代码编写
  18. * F:学生管理系统的修改学生的代码编写
  19. */
  20. public class StudentManagerTest {
  21. public static void main(String[] args) {
  22. // 创建集合对象,用于存储学生数据
  23. ArrayList<Student> array = new ArrayList<Student>();
  24. // 为了让程序能够回到这里来,我们使用循环
  25. while (true) {
  26. // 这是学生管理系统的主界面
  27. System.out.println("--------欢迎来到学生管理系统--------");
  28. System.out.println("1 查看所有学生");
  29. System.out.println("2 添加学生");
  30. System.out.println("3 删除学生");
  31. System.out.println("4 修改学生");
  32. System.out.println("5 退出");
  33. System.out.println("请输入你的选择:");
  34. // 创建键盘录入对象
  35. Scanner sc = new Scanner(System.in);
  36. String choiceString = sc.nextLine();
  37. // 用switch语句实现选择
  38. switch (choiceString) {
  39. case "1":
  40. // 查看所有学生
  41. findAllStudent(array);
  42. break;
  43. case "2":
  44. // 添加学生
  45. addStudent(array);
  46. break;
  47. case "3":
  48. // 删除学生
  49. deleteStudent(array);
  50. break;
  51. case "4":
  52. // 修改学生
  53. updateStudent(array);
  54. break;
  55. case "5":
  56. // 退出
  57. // System.out.println("谢谢你的使用");
  58. // break;
  59. default:
  60. System.out.println("谢谢你的使用");
  61. System.exit(0); // JVM退出
  62. break;
  63. }
  64. }
  65. }
  66. /**
  67. * @Title: findAllStudent
  68. * @Description: 查看所有学生
  69. * @param array
  70. */
  71. public static void findAllStudent(ArrayList<Student> array) {
  72. //首先来判断集合中是否有数据,如果没有数据,就给出提示,并让该方法不继续往下执行
  73. if(array.size() == 0) {
  74. System.out.println("不好意思,目前没有学生信息可供查询,请回去重新选择你的操作");
  75. return;
  76. }
  77. //\t 其实就是一个tab键的位置
  78. System.out.println("学号\t姓名\t年龄\t居住地");
  79. for(int x=0; x<array.size(); x++) {
  80. Student s = array.get(x);
  81. System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getAddress());
  82. }
  83. }
  84. /*
  85. //添加学生
  86. public static void addStudent(ArrayList<Student> array) {
  87. //创建键盘录入对象
  88. Scanner sc = new Scanner(System.in);
  89. System.out.println("请输入学生学号:");
  90. String id = sc.nextLine();
  91. System.out.println("请输入学生姓名:");
  92. String name = sc.nextLine();
  93. System.out.println("请输入学生年龄:");
  94. String age = sc.nextLine();
  95. System.out.println("请输入学生居住地:");
  96. String address = sc.nextLine();
  97. //创建学生对象
  98. Student s = new Student();
  99. s.setId(id);
  100. s.setName(name);
  101. s.setAge(age);
  102. s.setAddress(address);
  103. //把学生对象作为元素添加到集合
  104. array.add(s);
  105. //给出提示
  106. System.out.println("添加学生成功");
  107. }
  108. */
  109. /**
  110. * @Title: addStudent
  111. * @Description: 添加学生
  112. * @param array
  113. */
  114. public static void addStudent(ArrayList<Student> array) {
  115. //创建键盘录入对象
  116. Scanner sc = new Scanner(System.in);
  117. //为了让id能够被访问到,我们就把id定义在了循环的外面
  118. String id;
  119. //为了让代码能够回到这里,用循环
  120. while(true) {
  121. System.out.println("请输入学生学号:");
  122. //String id = sc.nextLine();
  123. id = sc.nextLine();
  124. //判断学号有没有被人占用
  125. //定义标记
  126. boolean flag = false;
  127. //遍历集合,得到每一个学生
  128. for(int x=0; x<array.size(); x++) {
  129. Student s = array.get(x);
  130. //获取该学生的学号,和键盘录入的学号进行比较
  131. if(s.getId().equals(id)) {
  132. flag = true; //说明学号被占用了
  133. break;
  134. }
  135. }
  136. if(flag) {
  137. System.out.println("你输入的学号已经被占用,请重新输入");
  138. }else {
  139. break; //结束循环
  140. }
  141. }
  142. System.out.println("请输入学生姓名:");
  143. String name = sc.nextLine();
  144. System.out.println("请输入学生年龄:");
  145. String age = sc.nextLine();
  146. System.out.println("请输入学生居住地:");
  147. String address = sc.nextLine();
  148. //创建学生对象
  149. Student s = new Student();
  150. s.setId(id);
  151. s.setName(name);
  152. s.setAge(age);
  153. s.setAddress(address);
  154. //把学生对象作为元素添加到集合
  155. array.add(s);
  156. //给出提示
  157. System.out.println("添加学生成功");
  158. }
  159. /**
  160. * @Title: deleteStudent
  161. * @Description: 删除学生
  162. * @param array
  163. */
  164. public static void deleteStudent(ArrayList<Student> array) {
  165. //删除学生的思路:键盘录入一个学号,到集合中去查找,看是否有学生使用的是该学号,如果有就删除该学生
  166. //创建键盘录入对象
  167. Scanner sc = new Scanner(System.in);
  168. System.out.println("请输入你要删除的学生的学号:");
  169. String id = sc.nextLine();
  170. /*
  171. //遍历集合
  172. for(int x=0; x<array.size(); x++) {
  173. //获取到每一个学生对象
  174. Student s = array.get(x);
  175. //拿这个学生对象的学号和键盘录入的学号进行比较
  176. if(s.getId().equals(id)) {
  177. array.remove(x); //根据索引删除
  178. break;
  179. }
  180. }
  181. //给出提示
  182. System.out.println("删除学生成功");
  183. */
  184. //我们必须给出学号不存在的时候的提示
  185. //定义一个索引
  186. int index = -1;
  187. //遍历集合
  188. for(int x=0; x<array.size(); x++) {
  189. //获取到每一个学生对象
  190. Student s = array.get(x);
  191. //拿这个学生对象的学号和键盘录入的学号进行比较
  192. if(s.getId().equals(id)) {
  193. index = x;
  194. break;
  195. }
  196. }
  197. if(index == -1) {
  198. System.out.println("不好意思,你要删除的学号对应的学生信息不存在,请回去重新你的选择");
  199. }else {
  200. array.remove(index);
  201. System.out.println("删除学生成功");
  202. }
  203. }
  204. /**
  205. * @Title: updateStudent
  206. * @Description: 修改学生
  207. * @param array
  208. */
  209. public static void updateStudent(ArrayList<Student> array) {
  210. //修改学生的思路:键盘录入一个学号,到集合中去查找,看是否有学生使用的是该学号,如果有就修改该学生
  211. //创建键盘录入对象
  212. Scanner sc = new Scanner(System.in);
  213. System.out.println("请输入你要修改的学生的学号:");
  214. String id = sc.nextLine();
  215. //定义一个索引
  216. int index = -1;
  217. //遍历集合
  218. for(int x=0; x<array.size(); x++) {
  219. //获取每一个学生对象
  220. Student s = array.get(x);
  221. //拿学生对象的学号和键盘录入的学号进行比较
  222. if(s.getId().equals(id)) {
  223. index = x;
  224. break;
  225. }
  226. }
  227. if(index == -1) {
  228. System.out.println("不好意思,你要修改的学号对应的学生信息不存在,请回去重新你的选择");
  229. }else {
  230. System.out.println("请输入学生新姓名:");
  231. String name = sc.nextLine();
  232. System.out.println("请输入学生新年龄:");
  233. String age = sc.nextLine();
  234. System.out.println("请输入学生新居住地:");
  235. String address = sc.nextLine();
  236. //创建学生对象
  237. Student s = new Student();
  238. s.setId(id);
  239. s.setName(name);
  240. s.setAge(age);
  241. s.setAddress(address);
  242. //修改集合中的学生对象
  243. array.set(index, s);
  244. //给出提示
  245. System.out.println("修改学生成功");
  246. }
  247. }
  248. }

发表评论

表情:
评论列表 (有 0 条评论,187人围观)

还没有评论,来说两句吧...

相关阅读

    相关 学生管理系统

    我现在是大一新生!这个系统我写了一个月。但是还是不是很好。但是我想着是我的第一个系统。我在写的时候发现我的删除功能不是很好的。还有就是在这个过程中我学会了再这里我学到了如何使用

    相关 学生管理系统

    注释:这个小的系统,主要体现了C语言的  “分而治之,代码重用”  也就是老师教函数时给我们说的最核心的思想。   主要吧,就是先在开始:定义后面要使用的函数,再定义一些全局变