飞道的博客

学生管理系统

311人阅读  评论(0)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、需求

二、学生类

1.类成员

2.类实现

三、学生管理类

1.需要设计的方法

 2.主界面方法完善

3. 添加学生信息方法

4.判断学号是否重复方法

5.查看学生信息方法

6.删除学生信息方法

7.修改学生信息方法

 四、完整代码

1.学生类代码

2.学生管理系统类代码

总结


前言

提示:这里可以添加本文要记录的大概内容:

12月25日练习内容


提示:以下是本篇文章正文内容,下面案例可供参考

一、需求

----------欢迎来到学生管理系统----------
1。添加学生
2.删除学生
3.修改学生
4.查看所有学生
0.推出
请输入你的选择:

完善上述学生管理系统需求功能

二、学生类

1.类成员

学生需要知道学号,姓名,年龄,地址。

代码如下(示例):


  
  1. private String sId; //学号
  2. private String name; //姓名
  3. private String age; //年龄
  4. private String address; //地址

2.类实现

因为成员使私有的,所以需要创建setxx还有getxx方法让其他类进行访问。

代码如下(示例):


  
  1. public class student {
  2. private String sId; //学号
  3. private String name; //姓名
  4. private String age; //年龄
  5. private String address; //地址
  6. //默认构造
  7. public student () {
  8. }
  9. //有参构造
  10. public student (String sId, String name, String age, String address) {
  11. this.sId = sId;
  12. this.name = name;
  13. this.age = age;
  14. this.address = address;
  15. }
  16. //get / set 函数
  17. public String getsId () {
  18. return sId;
  19. }
  20. public void setsId (String sId) {
  21. this.sId = sId;
  22. }
  23. public String getName () {
  24. return name;
  25. }
  26. public void setName (String name) {
  27. this.name = name;
  28. }
  29. public String getAge () {
  30. return age;
  31. }
  32. public void setAge (String age) {
  33. this.age = age;
  34. }
  35. public String getAddress () {
  36. return address;
  37. }
  38. public void setAddress (String address) {
  39. this.address = address;
  40. }
  41. }

三、学生管理类

1.需要设计的方法


  
  1. public class StudentManager {
  2. static int userSel = - 1; //选择
  3. static ArrayList<student> array = new ArrayList<>(); //储存学生信息
  4. public static void main (String[] args) {
  5. }
  6. //主界面
  7. public static int menu () {
  8. }
  9. //添加学生信息
  10. public static void addStudent (ArrayList<student> array) {
  11. }
  12. //判断学号是否重复
  13. public static boolean isUsed (ArrayList<student> array, String sid) {
  14. }
  15. //查看学生信息
  16. public static void findStudent (ArrayList<student> array) {
  17. }
  18. //删除学生信息
  19. public static void deleteStudent (ArrayList<student> array) {
  20. }
  21. //修改学生信息
  22. public static void updateStudent (ArrayList<student> array) {
  23. }

 2.主界面方法完善

使用switch语句


  
  1. public static int menu () {
  2. System.out.println( "----------欢迎来到学生管理系统----------");
  3. System.out.println( "1。添加学生");
  4. System.out.println( "2.删除学生");
  5. System.out.println( "3.修改学生");
  6. System.out.println( "4.查看所有学生");
  7. System.out.println( "0.推出");
  8. System.out.println( "请输入你的选择:");
  9. Scanner input = new Scanner(System.in); //输入
  10. userSel = input.nextInt();
  11. switch (userSel) {
  12. case 1:
  13. addStudent(array);
  14. break;
  15. case 2:
  16. deleteStudent(array);
  17. break;
  18. case 3:
  19. updateStudent(array);
  20. break;
  21. case 4:
  22. findStudent(array);
  23. break;
  24. case 0:
  25. System.out.println( "感谢你的使用,再见!!");
  26. break;
  27. default:
  28. System.out.println( "你的输入有误,请重新输入!!");
  29. break;
  30. }
  31. return userSel;
  32. }

3. 添加学生信息方法


  
  1. public static void addStudent (ArrayList<student> array) {
  2. //创建学生对象
  3. Scanner input = new Scanner(System.in); //输入
  4. student s = new student();
  5. //添加数据
  6. while ( true) {
  7. System.out.println( "请输入学生的学号:");
  8. String sid = input.nextLine();
  9. s.setsId(sid);
  10. if (isUsed(array, sid)) {
  11. System.out.println( "添加失败,学号已存在");
  12. } else {
  13. break;
  14. }
  15. }
  16. System.out.println( "请输入学生的姓名:");
  17. String name = input.nextLine();
  18. s.setName(name);
  19. System.out.println( "请输入学生的年龄:");
  20. String age = input.nextLine();
  21. s.setAge(age);
  22. System.out.println( "请输入学生的地址:");
  23. String address = input.nextLine();
  24. s.setAddress(address);
  25. //将数据添加到集合
  26. array.add(s);
  27. //输出信号
  28. System.out.println( "添加学生信息成功!");
  29. }

4.判断学号是否重复方法


  
  1. public static boolean isUsed (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. }

5.查看学生信息方法


  
  1. public static void findStudent (ArrayList<student> array) {
  2. if (array.size() == 0) {
  3. System.out.println( "查找失败,请先添加信息!");
  4. return;
  5. } else {
  6. for ( int i = 0; i < array.size(); i++) {
  7. student s = array.get(i);
  8. System.out.println( "学号:" + s.getsId() + "\t" + "姓名:" + s.getName() + "\t" + "年龄:" + s.getAddress() + "\t" + "地址:" + s.getAddress());
  9. }
  10. }
  11. }

6.删除学生信息方法


  
  1. public static void deleteStudent (ArrayList<student> array) {
  2. Scanner input = new Scanner(System.in);
  3. System.out.println( "请选择入:");
  4. System.out.println( "1.根据学号删除");
  5. System.out.println( "2.根据姓名删除");
  6. int choose = input.nextInt();
  7. switch (choose) {
  8. case 1: {
  9. System.out.println( "请输入需要删除的学生的学号:");
  10. Scanner in = new Scanner(System.in);
  11. String sid = in.nextLine();
  12. int index = - 1;
  13. for ( int i = 0; i < array.size(); i++) {
  14. student s = array.get(i);
  15. if (s.getsId().equals(sid)) {
  16. index = i;
  17. break;
  18. }
  19. }
  20. if (index == - 1) {
  21. System.out.println( "删除失败,该学生不存在");
  22. } else {
  23. array.remove(index);
  24. System.out.println( "删除成功!");
  25. }
  26. break;
  27. }
  28. case 2: {
  29. Scanner in = new Scanner(System.in);
  30. System.out.println( "请输入需要删除的学生的姓名:");
  31. String name = in.nextLine();
  32. int index = - 1;
  33. for ( int i = 0; i < array.size(); i++) {
  34. student s = array.get(i);
  35. if (s.getName().equals(name)) {
  36. index = i;
  37. break;
  38. }
  39. }
  40. if (index == - 1) {
  41. System.out.println( "删除失败,该学生不存在");
  42. } else {
  43. array.remove(index);
  44. System.out.println( "删除成功!");
  45. }
  46. break;
  47. }
  48. default:
  49. System.out.println( "输入错误,请重新输入");
  50. break;
  51. }
  52. }

7.修改学生信息方法


  
  1. public static void updateStudent (ArrayList<student> array) {
  2. Scanner input = new Scanner(System.in); //输入
  3. student s = new student();
  4. System.out.println( "请输入你要修改的学生的学号:");
  5. String id = input.nextLine();
  6. //添加数据
  7. System.out.println( "请输入你要修改的学生的新学号:");
  8. String sid = input.nextLine();
  9. s.setsId(sid);
  10. System.out.println( "请输入你要修改的学生的新姓名:");
  11. String name = input.nextLine();
  12. s.setName(name);
  13. System.out.println( "请输入你要修改的学生的新年龄:");
  14. String age = input.nextLine();
  15. s.setAge(age);
  16. System.out.println( "请输入你要修改的学生的新地址:");
  17. String address = input.nextLine();
  18. s.setAddress(address);
  19. //遍历集合找到需要修改学生
  20. int index = - 1;
  21. for ( int i = 0; i < array.size(); i++) {
  22. student s1 = array.get(i);
  23. if (s1.getsId().equals(id)) {
  24. index = i;
  25. break;
  26. }
  27. }
  28. if (index == - 1) {
  29. System.out.println( "修改失败,该学生不存在");
  30. } else {
  31. array.set(index, s);
  32. System.out.println( "修改成功");
  33. }
  34. }

 四、完整代码

1.学生类代码


  
  1. public class student {
  2. private String sId; //学号
  3. private String name; //姓名
  4. private String age; //年龄
  5. private String address; //地址
  6. //默认构造
  7. public student () {
  8. }
  9. //有参构造
  10. public student (String sId, String name, String age, String address) {
  11. this.sId = sId;
  12. this.name = name;
  13. this.age = age;
  14. this.address = address;
  15. }
  16. //get / set 函数
  17. public String getsId () {
  18. return sId;
  19. }
  20. public void setsId (String sId) {
  21. this.sId = sId;
  22. }
  23. public String getName () {
  24. return name;
  25. }
  26. public void setName (String name) {
  27. this.name = name;
  28. }
  29. public String getAge () {
  30. return age;
  31. }
  32. public void setAge (String age) {
  33. this.age = age;
  34. }
  35. public String getAddress () {
  36. return address;
  37. }
  38. public void setAddress (String address) {
  39. this.address = address;
  40. }
  41. }

2.学生管理系统类代码


  
  1. import java.util.ArrayList;
  2. import java.util.Scanner;
  3. public class StudentManager {
  4. static int userSel = - 1; //选择
  5. static ArrayList<student> array = new ArrayList<>(); //储存学生信息
  6. public static void main (String[] args) {
  7. while ( true) {
  8. int res = menu();
  9. if (res == 0)
  10. break;
  11. }
  12. }
  13. //主界面
  14. public static int menu () {
  15. System.out.println( "----------欢迎来到学生管理系统----------");
  16. System.out.println( "1。添加学生");
  17. System.out.println( "2.删除学生");
  18. System.out.println( "3.修改学生");
  19. System.out.println( "4.查看所有学生");
  20. System.out.println( "0.推出");
  21. System.out.println( "请输入你的选择:");
  22. Scanner input = new Scanner(System.in); //输入
  23. userSel = input.nextInt();
  24. switch (userSel) {
  25. case 1:
  26. addStudent(array);
  27. break;
  28. case 2:
  29. deleteStudent(array);
  30. break;
  31. case 3:
  32. updateStudent(array);
  33. break;
  34. case 4:
  35. findStudent(array);
  36. break;
  37. case 0:
  38. System.out.println( "感谢你的使用,再见!!");
  39. break;
  40. default:
  41. System.out.println( "你的输入有误,请重新输入!!");
  42. break;
  43. }
  44. return userSel;
  45. }
  46. //添加学生信息
  47. public static void addStudent (ArrayList<student> array) {
  48. //创建学生对象
  49. Scanner input = new Scanner(System.in); //输入
  50. student s = new student();
  51. //添加数据
  52. while ( true) {
  53. System.out.println( "请输入学生的学号:");
  54. String sid = input.nextLine();
  55. s.setsId(sid);
  56. if (isUsed(array, sid)) {
  57. System.out.println( "添加失败,学号已存在");
  58. } else {
  59. break;
  60. }
  61. }
  62. System.out.println( "请输入学生的姓名:");
  63. String name = input.nextLine();
  64. s.setName(name);
  65. System.out.println( "请输入学生的年龄:");
  66. String age = input.nextLine();
  67. s.setAge(age);
  68. System.out.println( "请输入学生的地址:");
  69. String address = input.nextLine();
  70. s.setAddress(address);
  71. //将数据添加到集合
  72. array.add(s);
  73. //输出信号
  74. System.out.println( "添加学生信息成功!");
  75. }
  76. //判断学号是否重复
  77. public static boolean isUsed (ArrayList<student> array, String sid) {
  78. boolean flag = false;
  79. for ( int i = 0; i < array.size(); i++) {
  80. student s = array.get(i);
  81. if (s.getsId().equals(sid)) {
  82. flag = true;
  83. break;
  84. }
  85. }
  86. return flag;
  87. }
  88. //查看学生信息
  89. public static void findStudent (ArrayList<student> array) {
  90. if (array.size() == 0) {
  91. System.out.println( "查找失败,请先添加信息!");
  92. return;
  93. } else {
  94. for ( int i = 0; i < array.size(); i++) {
  95. student s = array.get(i);
  96. System.out.println( "学号:" + s.getsId() + "\t" + "姓名:" + s.getName() + "\t" + "年龄:" + s.getAddress() + "\t" + "地址:" + s.getAddress());
  97. }
  98. }
  99. }
  100. //删除学生信息
  101. public static void deleteStudent (ArrayList<student> array) {
  102. Scanner input = new Scanner(System.in);
  103. System.out.println( "请选择入:");
  104. System.out.println( "1.根据学号删除");
  105. System.out.println( "2.根据姓名删除");
  106. int choose = input.nextInt();
  107. switch (choose) {
  108. case 1: {
  109. System.out.println( "请输入需要删除的学生的学号:");
  110. Scanner in = new Scanner(System.in);
  111. String sid = in.nextLine();
  112. int index = - 1;
  113. for ( int i = 0; i < array.size(); i++) {
  114. student s = array.get(i);
  115. if (s.getsId().equals(sid)) {
  116. index = i;
  117. break;
  118. }
  119. }
  120. if (index == - 1) {
  121. System.out.println( "删除失败,该学生不存在");
  122. } else {
  123. array.remove(index);
  124. System.out.println( "删除成功!");
  125. }
  126. break;
  127. }
  128. case 2: {
  129. Scanner in = new Scanner(System.in);
  130. System.out.println( "请输入需要删除的学生的姓名:");
  131. String name = in.nextLine();
  132. int index = - 1;
  133. for ( int i = 0; i < array.size(); i++) {
  134. student s = array.get(i);
  135. if (s.getName().equals(name)) {
  136. index = i;
  137. break;
  138. }
  139. }
  140. if (index == - 1) {
  141. System.out.println( "删除失败,该学生不存在");
  142. } else {
  143. array.remove(index);
  144. System.out.println( "删除成功!");
  145. }
  146. break;
  147. }
  148. default:
  149. System.out.println( "输入错误,请重新输入");
  150. break;
  151. }
  152. }
  153. //修改学生信息
  154. public static void updateStudent (ArrayList<student> array) {
  155. Scanner input = new Scanner(System.in); //输入
  156. student s = new student();
  157. System.out.println( "请输入你要修改的学生的学号:");
  158. String id = input.nextLine();
  159. //添加数据
  160. System.out.println( "请输入你要修改的学生的新学号:");
  161. String sid = input.nextLine();
  162. s.setsId(sid);
  163. System.out.println( "请输入你要修改的学生的新姓名:");
  164. String name = input.nextLine();
  165. s.setName(name);
  166. System.out.println( "请输入你要修改的学生的新年龄:");
  167. String age = input.nextLine();
  168. s.setAge(age);
  169. System.out.println( "请输入你要修改的学生的新地址:");
  170. String address = input.nextLine();
  171. s.setAddress(address);
  172. //遍历集合找到需要修改学生
  173. int index = - 1;
  174. for ( int i = 0; i < array.size(); i++) {
  175. student s1 = array.get(i);
  176. if (s1.getsId().equals(id)) {
  177. index = i;
  178. break;
  179. }
  180. }
  181. if (index == - 1) {
  182. System.out.println( "修改失败,该学生不存在");
  183. } else {
  184. array.set(index, s);
  185. System.out.println( "修改成功");
  186. }
  187. }
  188. }

 


总结

提示:这里对文章进行总结:
 


转载:https://blog.csdn.net/qq_58210976/article/details/128436704
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场