• 用java实现学生成绩管理系统(附有详细代码)


    1.需求

    • 添加学生:通过键盘录入学生信息,添加到集合中
    • 删除学生:通过键盘录入需要删除学生的学号,将该学生对象从集合中删除
    • 修改学生:通过键盘录入需要修改学的学号,将该学生对象的其他信息进行修改
    • 查看学生:将集合中的学生对象信息进行展示
    • 退出系统:结束程序

    2.代码实现

      Student类 代码如下:

    1. package StudentManger;
    2. /*
    3. 学生信息:姓名,地址
    4. */
    5. public class Student {
    6. String name;
    7. String address;
    8. int ChineseGrade;
    9. int MathGrade;
    10. int EnglishGrade;
    11. int sum;
    12. double averGrade;
    13. public int getSum() {
    14. return sum;
    15. }
    16. public void setSum(int sum) {
    17. this.sum = sum;
    18. }
    19. public String getName() {
    20. return name;
    21. }
    22. public void setName(String name) {
    23. this.name = name;
    24. }
    25. public String getAddress() {
    26. return address;
    27. }
    28. public void setAddress(String address) {
    29. this.address = address;
    30. }
    31. public int getChineseGrade() {
    32. return ChineseGrade;
    33. }
    34. public void setChineseGrade(int chineseGrade) {
    35. ChineseGrade = chineseGrade;
    36. }
    37. public int getMathGrade() {
    38. return MathGrade;
    39. }
    40. public void setMathGrade(int mathGrade) {
    41. MathGrade = mathGrade;
    42. }
    43. public int getEnglishGrade() {
    44. return EnglishGrade;
    45. }
    46. public void setEnglishGrade(int englishGrade) {
    47. EnglishGrade = englishGrade;
    48. }
    49. public double getAverGrade() {
    50. return averGrade;
    51. }
    52. public void setAverGrade(double averGrade) {
    53. this.averGrade = averGrade;
    54. }
    55. }

     主类中的代码如下:

    1. package StudentManger;
    2. import java.util.HashMap;
    3. import java.util.Scanner;
    4. import java.util.Set;
    5. public class Demo {
    6. public static void main(String[] args) {
    7. //创建hashmap集合
    8. HashMap hashMap = new HashMap<>();
    9. Scanner sc = new Scanner(System.in);
    10. //创建开始页面
    11. while (true)
    12. {
    13. printview();
    14. System.out.println("请输入您要实现的的功能:");
    15. int data = sc.nextInt();
    16. switch (data)
    17. {
    18. case 1 : setStudent(hashMap);break;
    19. case 2 : delete(hashMap);break;
    20. case 3 : Change(hashMap);break;
    21. case 4 :print01(hashMap);break;
    22. case 5 :print02(hashMap);break;
    23. case 6 : System.out.println("欢迎下次使用!");System.exit(1);
    24. }
    25. }
    26. }
    27. public static void printview()
    28. {
    29. System.out.println("----欢迎来到学生管理系统!-----");
    30. System.out.println("----请选择以下对应的功能-------");
    31. System.out.println("-------1.添加学生信息---------");
    32. System.out.println("-------2.删除学生信息---------");
    33. System.out.println("-------3.修改学生信息---------");
    34. System.out.println("-------4.通过学号查看单个学生信息(通过key显示)---------");
    35. System.out.println("-------5.查看所有学生信息------");
    36. System.out.println("-------6.退出管理系统---------");
    37. }
    38. //添加学生信息
    39. public static void setStudent(HashMap hs)
    40. {
    41. Scanner sc = new Scanner(System.in);
    42. Student s = new Student();
    43. System.out.println("请输入学生的地址:");
    44. String address =sc.nextLine();
    45. s.setAddress(address);
    46. System.out.println("请输入学生的姓名:");
    47. String name = sc.nextLine();
    48. s.setName(name);
    49. System.out.println("请输入学生的学号:");
    50. Integer number = sc.nextInt();
    51. System.out.println("请输入学生的语文成绩:");
    52. Integer yuwen = sc.nextInt();
    53. s.setChineseGrade(yuwen);
    54. System.out.println("请输入学生的数学成绩:");
    55. Integer shuxue = sc.nextInt();
    56. s.setMathGrade(shuxue);
    57. System.out.println("请输入学生的英语成绩:");
    58. Integer yingyu = sc.nextInt();
    59. s.setEnglishGrade(yingyu);
    60. //计算平均成绩和总体成绩
    61. int sum = shuxue + yuwen+yingyu;
    62. double aver = sum/3;
    63. s.setSum(sum);
    64. s.setAverGrade(aver);
    65. //将学生信息存储到hashmap中
    66. hs.put(number,s);
    67. System.out.println("添加成功!");
    68. }
    69. //删除学生信息
    70. public static void delete(HashMap hs)
    71. {
    72. Scanner sc = new Scanner(System.in);
    73. System.out.println("请输入您要删除学生的学号:");
    74. Integer number = sc.nextInt();
    75. if(hs.get(number)!=null)
    76. {
    77. hs.remove(number);
    78. System.out.println("删除成功!");
    79. }
    80. else
    81. {
    82. System.out.println("此学生不存在!");
    83. }
    84. }
    85. //显示单个学生信息
    86. public static void print01(HashMap hs)
    87. {
    88. Scanner sc = new Scanner(System.in);
    89. System.out.println("请输入您要查询的学生的学号:");
    90. Integer number = sc.nextInt();
    91. if (hs.get(number)!=null)
    92. {
    93. Student s = hs.get(number);
    94. System.out.println("查询成功!");
    95. System.out.println("学号:"+number+" 姓名:"+s.getName()+" 地址:"+s.getAddress()+" 语文成绩:"+s.getChineseGrade()+" 数学成绩:"+s.getMathGrade()+" 英语成绩:"+s.getEnglishGrade()+s.getAddress()+" 成绩总和:"+s.getSum()+" 平均成绩:"+s.getAverGrade());
    96. }
    97. else
    98. {
    99. System.out.println("该学生不存在!");
    100. }
    101. }
    102. //显示所有学生信息
    103. public static void print02(HashMap hs)
    104. {
    105. System.out.println("所有学生信息如下:");
    106. Set set = hs.keySet();
    107. for (Integer i :set)
    108. {
    109. Student s = hs.get(i);
    110. System.out.println("学号:"+i+" 姓名:"+s.getName()+" 地址:"+s.getAddress()+" 语文成绩:"+s.getChineseGrade()+" 数学成绩:"+s.getMathGrade()+" 英语成绩:"+s.getEnglishGrade()+" 成绩总和:"+s.getSum()+" 平均成绩:"+s.getAverGrade());
    111. }
    112. }
    113. //修改学生信息
    114. public static void Change(HashMap hs)
    115. {
    116. Scanner sc = new Scanner(System.in);
    117. System.out.println("请输入你要修改的学生学号:");
    118. int number = sc.nextInt();
    119. if (hs.get(number)!=null)
    120. {
    121. Scanner sc1 = new Scanner(System.in);
    122. Student s = hs.get(number);
    123. System.out.println("请输入您要修改的学生的具体信息:(姓名,地址,语文成绩,数学成绩。英语成绩)");
    124. String data = sc1.nextLine();
    125. if (data.equals("姓名"))
    126. {
    127. System.out.println("请输入您要修改的姓名:");
    128. String name = sc1.nextLine();
    129. s.setName(name);
    130. System.out.println("修改完成!");
    131. }
    132. else if (data.equals("地址"))
    133. {
    134. System.out.println("请输入您要修改的地址:");
    135. String address = sc1.nextLine();
    136. s.setAddress(address);
    137. System.out.println("修改完成!");
    138. }
    139. else if (data.equals("语文成绩"))
    140. {
    141. System.out.println("请输入您要修改的语文成绩:");
    142. int ytuwen = sc1.nextInt();
    143. s.setChineseGrade(ytuwen);
    144. System.out.println("修改完成!");
    145. }
    146. else if (data.equals("数学成绩"))
    147. {
    148. System.out.println("请输入您要修改的数学成绩:");
    149. int shuXue = sc1.nextInt();
    150. s.setChineseGrade(shuXue);
    151. System.out.println("修改完成!");
    152. }
    153. else if (data.equals("英语成绩"))
    154. {
    155. System.out.println("请输入您要修改的英语成绩:");
    156. int yingyu = sc1.nextInt();
    157. s.setChineseGrade(yingyu);
    158. System.out.println("修改完成!");
    159. }
    160. }
    161. else
    162. {
    163. System.out.println("该学生不存在!");
    164. }
    165. }
    166. }

    部分测试如下: 

    ----欢迎来到学生管理系统!-----
    ----请选择以下对应的功能-------
    -------1.添加学生信息---------
    -------2.删除学生信息---------
    -------3.修改学生信息---------
    -------4.通过学号查看单个学生信息(通过key显示)---------
    -------5.查看所有学生信息------
    -------6.退出管理系统---------
    请输入您要实现的的功能:
    1
    请输入学生的地址:
    桂林电子科技大学
    请输入学生的姓名:
    Ken
    请输入学生的学号:
    01
    请输入学生的语文成绩:
    130
    请输入学生的数学成绩:
    150
    请输入学生的英语成绩:
    140
    添加成功!
    ----欢迎来到学生管理系统!-----
    ----请选择以下对应的功能-------
    -------1.添加学生信息---------
    -------2.删除学生信息---------
    -------3.修改学生信息---------
    -------4.通过学号查看单个学生信息(通过key显示)---------
    -------5.查看所有学生信息------
    -------6.退出管理系统---------
    请输入您要实现的的功能:
    5
    所有学生信息如下:
    学号:1 姓名:Ken 地址:桂林电子科技大学 语文成绩:130 数学成绩:150 英语成绩:140 成绩总和:420 平均成绩:140.0
    ----欢迎来到学生管理系统!-----
    ----请选择以下对应的功能-------
    -------1.添加学生信息---------
    -------2.删除学生信息---------
    -------3.修改学生信息---------
    -------4.通过学号查看单个学生信息(通过key显示)---------
    -------5.查看所有学生信息------
    -------6.退出管理系统---------
    请输入您要实现的的功能:
    4
    请输入您要查询的学生的学号:
    01
    查询成功!
    学号:1 姓名:Ken 地址:桂林电子科技大学 语文成绩:130 数学成绩:150 英语成绩:140桂林电子科技大学 成绩总和:420 平均成绩:140.0
    ----欢迎来到学生管理系统!-----
    ----请选择以下对应的功能-------
    -------1.添加学生信息---------
    -------2.删除学生信息---------
    -------3.修改学生信息---------
    -------4.通过学号查看单个学生信息(通过key显示)---------
    -------5.查看所有学生信息------
    -------6.退出管理系统---------
    请输入您要实现的的功能:
    6
    欢迎下次使用!

  • 相关阅读:
    在消息队列kafka多消费者组消费同一Topic场景下的idea调试debug断点进不去的解决方案
    【vue+element ui】大屏自适应中el-select下拉内容在低分辨率下显示不全问题解决
    从0开始学Java:Java概述
    面部检测与特征分析:视频实时美颜SDK的核心组件
    神经网络在故障诊断中的应用
    DiffusionDet:第一个用于物体检测的扩散模型(DiffusionDet: Diffusion Model for Object Detection)
    HarmonyOS 学习方法
    PDF/X、PDF/A、PDF/E:有什么区别,为什么有这么多格式?
    【TCP】延时应答 与 捎带应答
    8086汇编中mov,add,sub语法
  • 原文地址:https://blog.csdn.net/m0_58941767/article/details/121453162