java对象数组实现学生信息管理系统

2025-05-29 0 93

本文实例为大家分享了Java实现学生信息管理系统,供大家参考,具体内容如下

一、功能需求

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

二、代码框架

一共有三个文件:

1、Student.java(学生类) //学生的基本信息
2、StudentAdmin.java(学生管理类) //用于对学生数组操作
3、StudentTest.java(主程序)

java对象数组实现学生信息管理系统

三、代码

下面为具体的代码:

1.学生类 Student.java

  1. package com.studentadmin.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 int avg;
  15. public int getNumber() {
  16. return number;
  17. }
  18. public void setNumber(int number) {
  19. this.number = number;
  20. }
  21. public String getName() {
  22. return name;
  23. }
  24. public void setName(String name) {
  25. this.name = name;
  26. }
  27. public int getAge(){
  28. return age;
  29. }
  30. public void setAge(int age) {
  31. this.age = age;
  32. }
  33. public int getPython() {
  34. return python;
  35. }
  36. public void setPython(int python) {
  37. this.python = python;
  38. }
  39. public int getJava() {
  40. return java;
  41. }
  42. public void setJava(int java) {
  43. this.java = java;
  44. }
  45. public int getLinux() {
  46. return linux;
  47. }
  48. public void setLinux(int linux) {
  49. this.linux = linux;
  50. }
  51. public int getSql() {
  52. return sql;
  53. }
  54. public void setSql(int sql) {
  55. this.sql = sql;
  56. }
  57. public int getSum() {
  58. return sum;
  59. }
  60. public void setSum() {
  61. this.sum = this.python+this.java+this.linux+this.sql;
  62. }
  63. public int getAvg() {
  64. return avg;
  65. }
  66. public void setAvg() {
  67. this.avg = this.sum/4;
  68. }
  69. public String toString(){ //学生信息
  70. String str="\\t\\t"+this.number+"\\t\\t"+this.name+"\\t\\t"+this.age+"\\t\\t"+this.python+"\\t\\t"
  71. +this.java+"\\t\\t"+this.linux+"\\t\\t"+this.sql+"\\t\\t"+this.sum+"\\t\\t"+this.avg;
  72. return str;
  73. }
  74. }

2.学生管理类 StudentAdmin.java

  1. package com.studentadmin.test;
  2. /**
  3. * 管理学生的类
  4. */
  5. public class StudentAdmin {
  6. static String msg="\\t\\t编号\\t\\t姓名\\t\\t年龄\\t\\tpython\\tjava\\tlinux\\tsql\\t\\t总分\\t\\t平均分";
  7. //功能菜单:
  8. public void menu(){
  9. System.out.println("—–请选择你要执行的功能—–");
  10. System.out.println("10:添加一个学生");
  11. System.out.println("11:查找一个学生");
  12. System.out.println("12:根据学生编号更新学生基本信息");
  13. System.out.println("13:根据学生编号删除学生");
  14. System.out.println("14:根据学生编号输入学生各门成绩");
  15. System.out.println("15:根据某门成绩进行排序");
  16. System.out.println("16:根据总分进行排序");
  17. System.out.println("99:退出系统");
  18. System.out.println("—————————-");
  19. }
  20. //返回数组中元素为空的下标
  21. public int index(Student[] arr){
  22. for(int i=0;i<arr.length;i++){
  23. if(arr[i]==null){
  24. return i;//新学生的编号
  25. }
  26. }
  27. return 999; //学生已满员
  28. }
  29. //打印所有学生的信息
  30. public void print(Student[] arr){
  31. System.out.println(msg);
  32. for(int i=0;i<arr.length;i++){
  33. if(arr[i]!=null){
  34. System.out.println(arr[i]);
  35. }
  36. }
  37. }
  38. //10:添加学生
  39. public void create(String name,int age,Student[] arr){
  40. int index=index(arr); //获取新学生的位置
  41. if(index!=999) { //如果还有空位置,可以添加学生
  42. Student stu = new Student();
  43. stu.setName(name);
  44. stu.setAge(age);
  45. stu.setNumber(index);
  46. arr[index] = stu;
  47. System.out.println("添加学生成功");
  48. this.print(arr);
  49. }else{
  50. System.out.println("班级学生已满,无法再添加学生了");
  51. }
  52. }
  53. //11:查找学生
  54. public void select(int number,Student[] arr){
  55. for(int i=0;i<arr.length;i++){
  56. if(arr[i]!=null){
  57. if(arr[i].getNumber()==number){
  58. System.out.println(msg);
  59. System.out.println(arr[i]);
  60. return;
  61. }
  62. }
  63. }
  64. System.out.println("没有这个编号的学生");
  65. }
  66. //12:根据编号更新学生
  67. public void update(int number,String name,int age,Student[] arr){
  68. for(int i=0;i<arr.length;i++){
  69. if(arr[i]!=null){
  70. if(arr[i].getNumber()==number){
  71. arr[i].setName(name);
  72. arr[i].setAge(age);
  73. System.out.println("更新学生信息成功");
  74. this.print(arr);
  75. return;
  76. }
  77. }
  78. }
  79. System.out.println("没有这个学生");
  80. }
  81. //13:根据编号删除学生
  82. public void delete(int number,Student[] arr){
  83. for(int i=0;i<arr.length;i++){
  84. if(arr[i]!=null){
  85. if(arr[i].getNumber()==number){
  86. arr[i]=null;
  87. System.out.println("删除成功");
  88. this.print(arr);
  89. return;
  90. }
  91. }
  92. }
  93. System.out.println("没有这个编号的学生");
  94. }
  95. //14:根据编号录入成绩
  96. public void input(int number, int python,int java,int linux,int sql,Student[] arr){
  97. for(int i=0;i<arr.length;i++) {
  98. if (arr[i] != null) {
  99. if (arr[i].getNumber() == number) {
  100. arr[number].setPython(python);
  101. arr[number].setJava(java);
  102. arr[number].setLinux(linux);
  103. arr[number].setSql(sql);
  104. arr[number].setSum();
  105. arr[number].setAvg();
  106. System.out.println("录入成绩成功");
  107. this.print(arr);
  108. return;
  109. }
  110. }
  111. }
  112. System.out.println("不存在这个学生");
  113. }
  114. //15:根据某门成绩排序
  115. public void courseSort(int number,Student[] arr){
  116. switch (number) {
  117. case 1:
  118. for (int i = 0; i < arr.length 1; i++) {
  119. for (int j = i + 1; j < arr.length; j++) {
  120. if (arr[i] != null && arr[j] != null) {
  121. if (arr[i].getPython() < arr[j].getPython()) {
  122. Student temp = arr[i];//比较某门成绩,交换学生
  123. arr[i] = arr[j];
  124. arr[j] = temp;
  125. }
  126. }
  127. }
  128. }
  129. break;
  130. case 2:
  131. for (int i = 0; i < arr.length 1; i++) {
  132. for (int j = i + 1; j < arr.length; j++) {
  133. if (arr[i] != null && arr[j] != null) {
  134. if (arr[i].getJava() < arr[j].getJava()) {
  135. Student temp = arr[i];
  136. arr[i] = arr[j];
  137. arr[j] = temp;
  138. }
  139. }
  140. }
  141. }
  142. break;
  143. case 3:
  144. for (int i = 0; i < arr.length 1; i++) {
  145. for (int j = i + 1; j < arr.length; j++) {
  146. if (arr[i] != null && arr[j] != null) {
  147. if (arr[i].getLinux() < arr[j].getLinux()) {
  148. Student temp = arr[i];
  149. arr[i] = arr[j];
  150. arr[j] = temp;
  151. }
  152. }
  153. }
  154. }
  155. break;
  156. case 4:
  157. for (int i = 0; i < arr.length 1; i++) {
  158. for (int j = i + 1; j < arr.length; j++) {
  159. if (arr[i] != null && arr[j] != null) {
  160. if (arr[i].getSql() < arr[j].getSql()) {
  161. Student temp = arr[i];
  162. arr[i] = arr[j];
  163. arr[j] = temp;
  164. }
  165. }
  166. }
  167. }
  168. break;
  169. }
  170. this.print(arr);
  171. }
  172. //16:根据总分排序
  173. public void sumSort(Student[] arr){
  174. for (int i = 0; i < arr.length 1; i++) {
  175. for (int j = i + 1; j < arr.length; j++) {
  176. if (arr[i] != null && arr[j] != null) {
  177. if (arr[i].getSum() < arr[j].getSum()) {
  178. Student temp = arr[i];
  179. arr[i] = arr[j];
  180. arr[j] = temp;
  181. }
  182. }
  183. }
  184. }
  185. this.print(arr);
  186. }
  187. }

3.主程序 StudentTest.java

  1. package com.studentadmin.test;
  2. import java.util.Scanner;
  3. /**
  4. * 主程序
  5. */
  6. public class StudentTest {
  7. public static void main(String[] args) {
  8. Scanner sc=new Scanner(System.in);
  9. System.out.println("请定义学生人数");
  10. int stuNum=sc.nextInt(); //定义学生人数
  11. Student[] stuArr=new Student[stuNum]; //定义一个学生数组
  12. StudentAdmin admin=new StudentAdmin(); //定义一个管理对象,用来调用管理学生的方法
  13. while(true){
  14. admin.menu();//功能菜单
  15. int number=sc.nextInt(); //选择的菜单选项
  16. if(number==10){ //10:添加一个学生
  17. System.out.println("请输入学生姓名");
  18. String name=sc.next();
  19. System.out.println("请输入学生年龄");
  20. int age=sc.nextInt();
  21. admin.create(name,age,stuArr);
  22. }else if(number==11){//11:查找一个学生
  23. System.out.println("请输入你要查找的学生的编号");
  24. int num=sc.nextInt();
  25. admin.select(num,stuArr);
  26. }else if(number==12){//12:根据学生编号更新学生基本信息
  27. System.out.println("请输入你要更新的学生的编号");
  28. int num=sc.nextInt();
  29. System.out.println("请输入学生姓名");
  30. String name=sc.next();
  31. System.out.println("请输入学生年龄");
  32. int age=sc.nextInt();
  33. admin.update(num,name,age,stuArr);
  34. }else if(number==13){//13:根据学生编号删除学生
  35. System.out.println("请输入你要删除的学生编号");
  36. int num=sc.nextInt();
  37. admin.delete(num,stuArr);
  38. }else if(number==14){//14:根据编号输入学生各门成绩
  39. System.out.println("请输入学生编号");
  40. int num=sc.nextInt();
  41. System.out.println("请输入学生python成绩");
  42. int python=sc.nextInt();
  43. System.out.println("请输入学生java成绩");
  44. int java=sc.nextInt();
  45. System.out.println("请输入学生linux成绩");
  46. int linux=sc.nextInt();
  47. System.out.println("请输入学生sql成绩");
  48. int sql=sc.nextInt();
  49. admin.input(num,python,java,linux,sql,stuArr);
  50. }else if (number==15){//15:根据某门成绩进行排序
  51. System.out.println("请选择你要排序的课程(1:python 2:java 3:linux 4:sql)");
  52. int courseNum=sc.nextInt();
  53. admin.courseSort(courseNum,stuArr);
  54. }else if (number==16){//16:根据总分进行排序
  55. admin.sumSort(stuArr);
  56. }else if(number==99){//99:退出系统
  57. System.exit(0);
  58. }else{
  59. System.out.println("请重新输入");
  60. }
  61. }
  62. }
  63. }

四、运行结果

1.添加学生功能

java对象数组实现学生信息管理系统

2.查找学生功能

java对象数组实现学生信息管理系统

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

java对象数组实现学生信息管理系统

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

java对象数组实现学生信息管理系统

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

java对象数组实现学生信息管理系统

6.根据某门成绩进行排序

java对象数组实现学生信息管理系统

7.根据总分进行排序

java对象数组实现学生信息管理系统

8.退出系统

java对象数组实现学生信息管理系统

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

原文链接:https://blog.csdn.net/hju22/article/details/86175596

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 java对象数组实现学生信息管理系统 https://www.kuaiidc.com/106321.html

相关文章

发表评论
暂无评论