java实现学生管理系统(集合ArrayList实现)

末蓝、 2022-03-27 08:28 371阅读 0赞

文章目录

      • 一、功能需求
      • 二、代码框架
      • 三、代码
        • 1.学生类 Student.java
        • 2.学生管理类 StudentManage.java
        • 3.主程序 StudentMain.java
      • 四、运行结果
        • 1.添加学生功能
        • 2.查找学生功能
        • 3.根据编号更新学生基本信息功能
        • 4.根据学生编号删除学生功能
        • 5.根据学生编号录入学生各门成绩
        • 6.退出系统

一、功能需求

case 10:添加学生
case 11:查找一个学生
case 12:根据编号更新学生基本信息
case 13:根据编号删除学生
case 14:根据编号录入成绩
case 99:退出系统

二、代码框架

一共有三个文件:
1、Student.java(学生类) //学生的基本信息
2、StudentManage.java(学生管理类) //用于对学生集合操作
3、StudentMain.java(主程序)
在这里插入图片描述

三、代码

下面为具体的代码:

1.学生类 Student.java

  1. package com.studentlist.test;
  2. /**
  3. * 学生类
  4. */
  5. public class Student {
  6. private int number;
  7. private String name;
  8. private int age;
  9. private int python;
  10. private int java;
  11. private int linux;
  12. private int sql;
  13. private int sum;
  14. private double avg;
  15. Student(int number ,String name,int age){
  16. this.number=number;
  17. this.name=name;
  18. this.age=age;
  19. }
  20. public int getNumber() {
  21. return number;
  22. }
  23. public void setNumber(int number) {
  24. this.number = number;
  25. }
  26. public String getName() {
  27. return name;
  28. }
  29. public void setName(String name) {
  30. this.name = name;
  31. }
  32. public int getAge() {
  33. return age;
  34. }
  35. public void setAge(int age) {
  36. this.age = age;
  37. }
  38. public int getPython() {
  39. return python;
  40. }
  41. public void setPython(int python) {
  42. this.python = python;
  43. }
  44. public int getJava() {
  45. return java;
  46. }
  47. public void setJava(int java) {
  48. this.java = java;
  49. }
  50. public int getLinux() {
  51. return linux;
  52. }
  53. public void setLinux(int linux) {
  54. this.linux = linux;
  55. }
  56. public int getSql() {
  57. return sql;
  58. }
  59. public void setSql(int sql) {
  60. this.sql = sql;
  61. }
  62. public int getSum() {
  63. return sum;
  64. }
  65. public void setSum() {
  66. this.sum = this.python+this.java+this.linux+this.sql;
  67. }
  68. public double getAvg() {
  69. return avg;
  70. }
  71. public void setAvg() {
  72. this.avg = (double)this.sum/4;
  73. }
  74. public String toString(){
  75. String msg="\t\t"+this.number+"\t\t"+this.name+"\t\t"+this.age+"\t\t"+this.python
  76. +"\t\t"+this.java+"\t\t"+this.linux+"\t\t"+this.sql+"\t"+this.sum+"\t"+this.avg;
  77. return msg;
  78. }
  79. }

2.学生管理类 StudentManage.java

  1. package com.studentlist.test;
  2. import java.util.ArrayList;
  3. /**
  4. * 学生管理类,实现增删改查
  5. */
  6. public class StudentManage {
  7. private ArrayList al=null;
  8. String msg="\t\t学号\t\t姓名\t\t年龄\t\tpython\tjava\tlinux\tsql\tsum\tavg";
  9. StudentManage(){
  10. al=new ArrayList();
  11. }
  12. public void menu(){
  13. System.out.println("-----请选择你要执行的功能-----");
  14. System.out.println("10:添加一个学生");
  15. System.out.println("11:查找一个学生");
  16. System.out.println("12:根据学号更新学生基本信息");
  17. System.out.println("13:根据学号删除学生");
  18. System.out.println("14:根据学生编号输入学生各门成绩");
  19. System.out.println("99:退出系统");
  20. System.out.println("----------------------------");
  21. }
  22. //显示所有学生信息
  23. public void showStu(){
  24. if(al.size()==0) {
  25. System.out.println("没有学生");
  26. }else{
  27. System.out.println("一共有"+al.size()+"个学生");
  28. System.out.println(msg);
  29. for (int i = 0; i < al.size(); i++) {
  30. Student stu = (Student) al.get(i);
  31. System.out.println(stu);
  32. }
  33. }
  34. }
  35. //10:添加一个学生
  36. public void addStu(Student stu){
  37. al.add(stu);
  38. System.out.println("添加学生成功");
  39. showStu();
  40. }
  41. //11:查找一个学生
  42. public void selectStu(int num){
  43. boolean flag=false;
  44. for(int i=0;i<al.size();i++){
  45. Student stu=(Student)al.get(i);
  46. if(stu.getNumber()==num){
  47. flag=true;
  48. System.out.println(msg);
  49. System.out.println(stu);
  50. return;
  51. }
  52. }
  53. if(flag==false){
  54. System.out.println("没有这个学号的学生");
  55. }
  56. }
  57. //12:根据学号更新学生基本信息
  58. public void updateStu(int number,String name,int age){
  59. boolean flag=false;
  60. for(int i=0;i<al.size();i++){
  61. Student stu=(Student)al.get(i);
  62. if(stu.getNumber()==number){
  63. flag=true;
  64. stu.setName(name);
  65. stu.setAge(age);
  66. System.out.println("学生信息更新成功");
  67. showStu();
  68. return;
  69. }
  70. }
  71. if(flag==false){
  72. System.out.println("没有这个学号的学生");
  73. }
  74. }
  75. //13:根据学号删除学生
  76. public void deleteStu(int num){
  77. boolean flag=false;
  78. for(int i=0;i<al.size();i++){
  79. Student stu=(Student)al.get(i);
  80. if(stu.getNumber()==num){
  81. flag=true;
  82. al.remove(i);
  83. System.out.println("学生删除成功");
  84. showStu();
  85. return;
  86. }
  87. }
  88. if(flag==false){
  89. System.out.println("没有这个学号的学生");
  90. }
  91. }
  92. //14:根据学生编号输入学生各门成绩
  93. public void input(int number,int python,int java,int linux,int sql){
  94. boolean flag=false;
  95. for(int i=0;i<al.size();i++){
  96. Student stu=(Student)al.get(i);
  97. if(stu.getNumber()==number){
  98. flag=true;
  99. stu.setPython(python);
  100. stu.setJava(java);
  101. stu.setLinux(linux);
  102. stu.setSql(sql);
  103. stu.setSum();
  104. stu.setAvg();
  105. System.out.println("学生成绩录入成功");
  106. showStu();
  107. return;
  108. }
  109. }
  110. if(flag==false){
  111. System.out.println("没有这个学号的学生");
  112. }
  113. }
  114. }

3.主程序 StudentMain.java

  1. package com.studentlist.test;
  2. import java.io.BufferedReader;
  3. import java.io.InputStreamReader;
  4. /**
  5. * 主类
  6. */
  7. public class StudentMain {
  8. public static void main(String[] args) throws Exception{
  9. StudentManage manage=new StudentManage();
  10. BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
  11. while (true){
  12. manage.menu();
  13. int no=Integer.parseInt(bf.readLine());
  14. switch (no){
  15. case 10://10:添加学生
  16. System.out.println("请输入学号");
  17. int num=Integer.parseInt(bf.readLine());
  18. System.out.println("请输入姓名");
  19. String name=bf.readLine();
  20. System.out.println("请输入年龄");
  21. int age=Integer.parseInt(bf.readLine());
  22. Student stu=new Student(num,name,age);
  23. manage.addStu(stu);
  24. break;
  25. case 11://11:查找学生
  26. System.out.println("请输入你要查找的学号");
  27. int num1=Integer.parseInt(bf.readLine());
  28. manage.selectStu(num1);
  29. break;
  30. case 12://12:更新学生信息
  31. System.out.println("请输入你要更新的学生的学号");
  32. int num2=Integer.parseInt(bf.readLine());
  33. System.out.println("请输入新的姓名");
  34. String name2=bf.readLine();
  35. System.out.println("请输入新的年龄");
  36. int age2=Integer.parseInt(bf.readLine());
  37. manage.updateStu(num2,name2,age2);
  38. break;
  39. case 13://13:根据学号删除学生
  40. System.out.println("请输入删除的学生的学号");
  41. int num3=Integer.parseInt(bf.readLine());
  42. manage.deleteStu(num3);
  43. break;
  44. case 14://14:根据学生编号输入学生各门成绩
  45. System.out.println("请输入学号");
  46. int num4=Integer.parseInt(bf.readLine());
  47. System.out.println("请输入python成绩");
  48. int python=Integer.parseInt(bf.readLine());
  49. System.out.println("请输入java成绩");
  50. int java=Integer.parseInt(bf.readLine());
  51. System.out.println("请输入Linux成绩");
  52. int linux=Integer.parseInt(bf.readLine());
  53. System.out.println("请输入sql成绩");
  54. int sql=Integer.parseInt(bf.readLine());
  55. manage.input(num4,python,java,linux,sql);
  56. break;
  57. case 99://99:退出系统
  58. System.exit(0);
  59. break;
  60. default:
  61. System.out.println("请重新输入");
  62. }
  63. }
  64. }
  65. }

四、运行结果

1.添加学生功能

在这里插入图片描述

2.查找学生功能

在这里插入图片描述

3.根据编号更新学生基本信息功能

在这里插入图片描述

4.根据学生编号删除学生功能

在这里插入图片描述

5.根据学生编号录入学生各门成绩

在这里插入图片描述

6.退出系统

在这里插入图片描述

发表评论

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

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

相关阅读