java设计简单学生管理系统

前端之家收集整理的这篇文章主要介绍了java设计简单学生管理系统前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例为大家分享了java学生成绩管理系统,供大家参考,具体内容如下

要求:

完善Student类,Student类包含学号、姓名、年级、专业、三门功课的成绩(英语、高数、计算机)的成员变量,完善成绩录入方法、设计按学号查找方法、按姓名查找方法、按单科成绩排序的方法
设计主类,实例化包含5个学生信息的学生数组,查找某一个学生的信息并打印出来,同时打印这5个学生按某一科成绩的按高到低的排序信息(学号、姓名、成绩);输出所有学生的三门单科平均成绩。

首先先创建一个student类
使用构造方法来初始化
学号、姓名、年级、专业、三门功课的成绩

先打包
分类

java设计简单学生管理系统


student类

使用构造方法初始化 get和set方法传值

  1. package swpu.student;
  2.  
  3. public class Student {
  4. public String number;
  5. public String name;
  6. public String major;
  7.  
  8. public int math;
  9. public int computer;
  10. public int english;
  11. public int total;
  12. //对象数组初始化,使用构造方法
  13. public Student(String newname,String nmajor,String newnumber,int nmath,int ncom,int ne){
  14. number = newnumber;
  15. major =nmajor;
  16. name = newname;
  17. math = nmath;
  18. computer = ncom;
  19. english = ne;
  20. }
  21. public String getMajor() {
  22. return major;
  23. }
  24. public void setMajor(String major) {
  25. this.major = major;
  26. }
  27. public int getEnglish() {
  28. return english;
  29. }
  30. public void setEnglish(int english) {
  31. this.english = english;
  32. }
  33. public String getNumber() {
  34. return number;
  35. }
  36. public void setNumber(String number) {
  37. this.number = number;
  38. }
  39. public String getName() {
  40. return name;
  41. }
  42. public void setName(String name) {
  43. this.name = name;
  44. }
  45. public int getMath() {
  46. return math;
  47. }
  48. public void setMath(int math) {
  49. this.math = math;
  50. }
  51. public int getComputer() {
  52. return computer;
  53. }
  54. public void setComputer(int computer) {
  55. this.computer = computer;
  56. }
  57.  
  58. }

排序类
rank类

  1. package swpu.student;
  2.  
  3. public class Rank {
  4. public static void rankscore(Student [] arr,int n){
  5. //数学
  6. if(n==1) {
  7. for (int i = 0; i < arr.length-1; i++) {
  8. int index = i;
  9. int j;
  10. // 找出最小值得元素下标
  11. for (j = i + 1; j < arr.length; j++) {
  12. if (arr[j].math > arr[index].math) {
  13. index = j;
  14. }
  15. }
  16. int tmp = arr[index].math;
  17. arr[index].math = arr[i].math;
  18. arr[i].math = tmp;
  19. }
  20. }
  21. //英语
  22. if(n==2) {
  23. for (int i = 0; i < arr.length-1; i++) {
  24. int index = i;
  25. int j;
  26. // 找出最小值得元素下标
  27. for (j = i + 1; j < arr.length; j++) {
  28. if (arr[j].english > arr[index].english) {
  29. index = j;
  30. }
  31. }
  32. int tmp = arr[index].english;
  33. arr[index].english = arr[i].english;
  34. arr[i].english = tmp;
  35. }
  36. }
  37. //计算机
  38. if(n==3) {
  39. for (int i = 0; i < arr.length-1; i++) {
  40. int index = i;
  41. int j;
  42. // 找出最小值得元素下标
  43. for (j = i + 1; j < arr.length; j++) {
  44. if (arr[j].computer > arr[index].computer) {
  45. index = j;
  46. }
  47. }
  48. int tmp = arr[index].computer;
  49. arr[index].computer = arr[i].computer;
  50. arr[i].computer = tmp;
  51. }
  52. }
  53. }
  54. }

这里使用了静态方法传入成绩的值

查找类
search类

  1. package swpu.student;
  2.  
  3. public class Search {
  4. //书写两种方法(学号,姓名)
  5.  
  6. public int StuNum(Student arr[],String y)//传入数组,查找值,使用字符串的比较
  7. {
  8. for(int i = 0;i<arr.length;i++)
  9. {
  10. if(arr[i].number.equals(y))
  11. return i;
  12. }
  13. return -1;
  14. }
  15. public int StuNam(Student stu[],String x) {
  16. for(int i = 0;i<stu.length;i++)
  17. {
  18. if(stu[i].name.equals(x))
  19. return i;
  20. }
  21. return -1;
  22. }
  23. }

主要类

Instudent类

  1. package swpu.student;
  2. import java.util.Scanner;
  3. public class Instudent {
  4.  
  5. public static void main(String[] args) {
  6. // TODO Auto-generated method stub
  7. Scanner in = new Scanner(System.in);
  8. Student []stu = new Student[5];
  9. //学生成绩初始化
  10. stu[0] = new Student("Jack","软工 ","20183101",80,90,85);
  11. stu[1] = new Student("Rose","大数据","20183102",99,93,90);
  12. stu[2] = new Student("John","网安全","20183103",87,70,74);
  13. stu[3] = new Student("Andi","网工程","20183104",67,66,68);
  14. stu[4] = new Student("Mike","物联网","20183105",56,55);
  15. //局部变量的初始化
  16. String nu1 = "";
  17. String na1 = "";
  18. String ma1 = "";
  19. int t1=0,t2=0,t3=0;
  20. System.out.println("-------------------学生成绩管理系统------------------------");
  21. //输入学生信息
  22. for(int i=0;i<stu.length;i++) {
  23. System.out.println("请输入第"+(i+1)+"个学生的姓名,专业,学号,数学成绩,计算机成绩,英语成绩");
  24. na1 = in.next();//姓名
  25. ma1 = in.next();//专业
  26. nu1 = in.next();//学号
  27. t1 = in.nextInt();
  28. t2 = in.nextInt();
  29. t3 = in.nextInt();
  30. stu[i].setNumber(nu1);
  31. stu[i].setName(na1);
  32. stu[i].setMajor(ma1);
  33. stu[i].setEnglish(t3);
  34. stu[i].setComputer(t2);
  35. stu[i].setMath(t2);
  36. }
  37. Search search = new Search();
  38. //选择需要的查找的方法
  39. System.out.println("选择需要的查找的方法,1学号,2姓名");
  40. int p = in.nextInt();
  41. if(p==1) {
  42. //使用学号的方法进行查找
  43. System.out.println("输入您所需要查找的学生学号");
  44. String y = in.next();
  45. int x = search.StuNum(stu,y);
  46. if(x>=0)
  47. System.out.println("学号:"+stu[x].number+" 学生:"+stu[x].name+" 专业:"+stu[x].major+" 数学:"+stu[x].math+" 计算机:"+stu[x].computer+" 英语:"+stu[x].english);
  48. else
  49. System.out.println("输入的学生不存在");
  50. }
  51. if(p==2) {
  52. //使用姓名的方法进行查找
  53. System.out.println("输入您所需要查找的学生姓名");
  54. String thename = in.next();
  55. int w = search.StuNam(stu,thename);
  56. if(w>=0)
  57. System.out.println("学号:"+stu[w].number+" 学生:"+stu[w].name+" 专业:"+stu[w].major+" 数学:"+stu[w].math+" 计算机:"+stu[w].computer+" 英语:"+stu[w].english);
  58. else
  59. System.out.println("输入的学生不存在");
  60. }
  61. System.out.println("是否需要对单科成绩进行排名 [Y/N] 1 =yes,2=no");
  62. int op = in.nextInt();
  63. if(op==1) {
  64. //单科成绩的排序(输入所需要科目然后直接进行排序)
  65. Rank rank = new Rank();//创建对象
  66. System.out.println("输入所需要排序的成绩编号,1:数学,2:英语,3:计算机");
  67. int major = in.nextInt();
  68. rank.rankscore(stu,major);
  69. //输出排序后的成绩
  70. for(int i = 0;i < stu.length;i++) {
  71. System.out.println("学号:"+stu[i].number+" 学生:"+stu[i].name+" 专业:"+stu[i].major+" 数学:"+stu[i].math+" 计算机:"+stu[i].computer+" 英语:"+stu[i].english);
  72. }
  73. }
  74. else {
  75. System.out.println("结束,退出系统");
  76. }
  77. }
  78.  
  79. }

其中使用构造方法初始化的时已经存入了值,因此在使用set方法输入学生信息时其实是修改学生信息,在构造方法初始化的时候可以不用那么复杂 可直接根据数据类型 例如:

  1. stu[0] = new Student(" "," ",0);
  2. stu[1] = new Student(" ",0);
  3. stu[2] = new Student(" ",0);
  4. stu[3] = new Student(" ",0);
  5. stu[4] = new Student(" ",0);

注意 在声明局部变量的时候一定要记住初始化,否则将值传入数组的时候会出现报错

运行截图:

java设计简单学生管理系统

java设计简单学生管理系统


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

猜你在找的Java相关文章