当前位置:   article > 正文

Java实现学生管理系统(完整代码)_java学生管理系统代码

java学生管理系统代码

案例需求

完成一个综合案例:学生管理系统!该系统主要功能如下:

添加学生:通过键盘录入学生信息,添加到集合中

删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除

修改学生:通过键盘录入要修改学生的学号,将该学生对象其他信息进行修改

查看学生:将集合中的学生对象信息进行展示

      退出系统:结束程序 

项目演示:

 实现步骤:

(1):定义学生类,包含以下成员变量

学生类: Student成员变量: 学号:sid

姓名:name

年龄:age

生日:birthday 构造方法:

无参构造

带四个参数的构造成员方法:

每个成员变量对应给出get/set方法

(2):主界面的代码编写

 (3):添加学生功能代码的编写

 (4):查找学生功能代码的编写

(5):删除学生功能代码的编写

 (6):修改学生功能代码的编写

 代码如下:

学生类:

  1. package com.company;
  2. /*
  3. 学生类
  4. Alt+Insert 根据自己的需要进行选择
  5. */
  6. public class Student {
  7. //学号
  8. private String sid;
  9. //姓名
  10. private String name;
  11. //年龄
  12. private String age;
  13. //生日
  14. private String birthday;
  15. public Student() {
  16. }
  17. public Student(String sid, String name, String age, String birthday) {
  18. this.sid = sid;
  19. this.name = name;
  20. this.age = age;
  21. this.birthday = birthday;
  22. }
  23. public String getSid() {
  24. return sid;
  25. }
  26. public void setSid(String sid) {
  27. this.sid = sid;
  28. }
  29. public String getName() {
  30. return name;
  31. }
  32. public void setName(String name) {
  33. this.name = name;
  34. }
  35. public String getAge() {
  36. return age;
  37. }
  38. public void setAge(String age) {
  39. this.age = age;
  40. }
  41. public String getBirthday() {
  42. return birthday;
  43. }
  44. public void setBirthday(String birthday) {
  45. this.birthday = birthday;
  46. }
  47. }

主函数:

  1. package com.company;
  2. /*
  3. 学生管理系统
  4. */
  5. import java.util.ArrayList;
  6. import java.util.Scanner;
  7. public class Main {
  8. /*
  9. 1:用输出语句完成主界面的编写
  10. 2:用Scanner实现键盘录入数据
  11. 3:用switch语句完成操作的选择
  12. 4:用循环完成再次回到主界面
  13. */
  14. public static void main(String[] args) {
  15. //创建集合对象,用于存储学生数据
  16. ArrayList<Student> array = new ArrayList<Student>();
  17. //用循环再次回到主界面
  18. while (true) {
  19. // 用输出语句完成主界面的编写
  20. System.out.println("--------欢迎来到学生管理系统--------");
  21. System.out.println("1 添加学生");
  22. System.out.println("2 删除学生");
  23. System.out.println("3 修改学生");
  24. System.out.println("4 查看所有学生");
  25. System.out.println("5 退出");
  26. System.out.println("请输入你的选择");
  27. //用Scanner实现键盘录入数据
  28. Scanner sc = new Scanner(System.in);
  29. String line = sc.nextLine();
  30. //用switch语句完成操作的选择
  31. switch (line) {
  32. case "1":
  33. // System.out.println("添加学生");
  34. addStudent(array);
  35. break;
  36. case "2":
  37. // System.out.println("删除学生");
  38. deleteStudent(array);
  39. break;
  40. case "3":
  41. // System.out.println("修改学生");
  42. updateStudent(array);
  43. break;
  44. case "4":
  45. // System.out.println("查看所有学生");
  46. findAllStudent(array);
  47. break;
  48. case "5":
  49. System.out.println("谢谢使用");
  50. // break;
  51. System.exit(0);//JVM退出,退出虚拟机
  52. }
  53. }
  54. }
  55. //定义一个方法,用于添加学生信息
  56. public static void addStudent(ArrayList<Student>array){
  57. //键盘录入学生对象所需要的数据,显示提示信息,提示要输入何种信息
  58. Scanner sc = new Scanner(System.in);
  59. //为了让 sid 在循环外面被访问到,我们把它定义在循环外面
  60. String sid;
  61. //为了让程序能够回到这里,使用循环实现
  62. while (true) {
  63. System.out.println("请输入学生学号:");
  64. sid = sc.nextLine();
  65. boolean flag = isUsed(array, sid);
  66. if (flag) {
  67. System.out.println("你输入的学号已经被使用,请重新输入");
  68. }else {
  69. break;
  70. }
  71. }
  72. System.out.println("请输入学生姓名:");
  73. String name = sc.nextLine();
  74. System.out.println("请输入学生年龄:");
  75. String age = sc.nextLine();
  76. System.out.println("请输入学生生日:");
  77. String address = sc.nextLine();
  78. //创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
  79. Student s = new Student();
  80. s.setSid(sid);
  81. s.setName(name);
  82. s.setAge(age);
  83. s.setBirthday(address);
  84. //将学生对象添加到集合中
  85. array.add(s);
  86. //给出添加成功提示
  87. System.out.println("添加学生成功");
  88. }
  89. //定义一个方法,判断学号是否被使用
  90. public static boolean isUsed(ArrayList<Student>array,String sid){
  91. //如果与集合中某一个学生学号相同,返回ture;如果不相同,返回false
  92. boolean flag = false;
  93. for (int i=0;i<array.size();i++){
  94. Student s = array.get(i);
  95. if (s.getSid().equals(sid)){
  96. flag = true;
  97. break;
  98. }
  99. }
  100. return flag;
  101. }
  102. //定义一个方法,用于查看学生信息
  103. public static void findAllStudent(ArrayList<Student> array){
  104. //判断集合中是否有数据,如果没有显示提示信息
  105. if (array.size()==0){
  106. System.out.println("无学生信息,请添加学生信息再查询");
  107. //为了让程序不再往下执行
  108. return;
  109. }
  110. //显示表头信息
  111. //\t其实就是tab键的位置
  112. System.out.println("学号\t姓名\t\t年龄\t\t生日");
  113. //将集合中数据元素取出按照对应格式显示学生信息,年龄显示补充“岁”
  114. for (int i=0; i<array.size();i++) {
  115. Student s = array.get(i);
  116. System.out.println(s.getSid() + "\t" + s.getName() + "\t" + s.getAge() + "岁\t" + s.getBirthday());
  117. }
  118. }
  119. //定义一个方法,用于删除学生信息
  120. public static void deleteStudent(ArrayList<Student>array){
  121. //键盘录入要删除学生的学号,显示提示信息
  122. Scanner sc = new Scanner(System.in);
  123. System.out.println("请输入你要删除学生的学号:");
  124. String sid =sc.nextLine();
  125. //在删除/修改学生操作时,对学号是否存在进行判断
  126. //如果不存在,显示提示信息
  127. //如果存在,执行操作
  128. int index = -1;
  129. for (int i=0;i<array.size();i++){
  130. Student s = array.get(i);
  131. if (s.getSid().equals(sid)){
  132. index = i;
  133. break;
  134. }
  135. }
  136. if(index == -1){
  137. System.out.println("该学生信息不存在,请重新输入");
  138. }else {
  139. array.remove(index);
  140. //给出删除成功提示信息
  141. System.out.println("删除学生成功");
  142. }
  143. //遍历集合将对应学生对象从集合中删除
  144. for (int i=0;i<array.size();i++){
  145. Student s = array.get(i);
  146. if (s.getSid().equals(sid)){
  147. array.remove(i);
  148. break;
  149. }
  150. }
  151. }
  152. //定义一个方法,用于修改学生信息
  153. public static void updateStudent(ArrayList<Student>array){
  154. //键盘录入要修改的学生学号,显示提示信息
  155. Scanner sc = new Scanner(System.in);
  156. System.out.println("请输入你要修改的学生学号:");
  157. String sid = sc.nextLine();
  158. //键盘录入要修改的学生信息
  159. System.out.println("请输入新的学生姓名:");
  160. String name = sc.nextLine();
  161. System.out.println("请输入新的学生年龄:");
  162. String age = sc.nextLine();
  163. System.out.println("请输入新的学生生日:");
  164. String address = sc.nextLine();
  165. //创建学生对象
  166. Student s = new Student();
  167. s.setSid(sid);
  168. s.setName(name);
  169. s.setAge(age);
  170. s.setBirthday(address);
  171. //遍历集合修改对应的学生信息
  172. for (int i=0;i<array.size();i++){
  173. Student student = array.get(i);
  174. if (student.getSid().equals(sid)){
  175. array.set(i,s);
  176. break;
  177. }
  178. }
  179. //给出修改成功提示
  180. System.out.println("修改学生成功");
  181. }
  182. }

注:本代码是根据观看的黑马程序员视频所写

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/776792
推荐阅读
相关标签
  

闽ICP备14008679号