| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package exercise.studentSystem;
- import java.util.Arrays;
- /**
- * @author WanJl
- * @version 1.0
- * @title StudentSystem
- * @description
- * @create 2026/7/22
- */
- public class StudentSystem {
- private Student[] students;
- private int count;
- /**
- * 这是一个有参的构造方法,当通过这个构造方法创建对象的时候,就可以创建一个指定长度的学生数组
- * @param capacity 学生数组的容量长度
- */
- public StudentSystem(int capacity) {
- //初始化指定容量的学生数组
- students=new Student[capacity];
- count=0;
- }
- /**
- * 将学生添加到数组中(如果数组已满,提示"数组已满,添加失败")
- * @param s
- */
- public void addStudent(Student s){
- if (count>=this.students.length){
- System.out.println("数组已满,添加失败");
- }else {
- // 向数组中添加一个学生对象
- students[count]=s;
- //学生人数+1
- count++;
- }
- }
- /**
- * 输出所有学生信息(含平均分)
- */
- public void printAll(){
- for (Student s: students){
- System.out.println("学号:"+s.getId()+",姓名:"+s.getName()+
- ",Java成绩:"+s.getJavaScore()+",MySQL成绩:"+s.getMysqlScore()+
- ",平均成绩:"+s.getAverage());
- }
- }
- /**
- * 按平均分降序排序(冒泡排序)
- */
- public void sortByAverage(){
- for (int i = 0; i < students.length-1; i++) {
- for (int j = 0; j < students.length-1-i; j++) {
- if (students[j].getAverage()<students[j+1].getAverage()){
- Student tempStudent=students[j];
- students[j]=students[j+1];
- students[j+1]=tempStudent;
- }
- }
- }
- }
- /**
- * 返回平均分最高的学生对象
- * @return
- */
- public Student getTopStudent(){
- Student s=students[0];
- for (int i = 1; i < students.length; i++) {
- if (s.getAverage()<students[i].getAverage()){
- s=students[i];
- }
- }
- return s;
- }
- }
|