java实验内容遇到难题:

(1)为学生创建一个Student类,这个类成员变量包括:每个学生的姓名(String)、ID(int)、语文成绩(chinese)、数学成绩(math)、英语成绩(english); 定义构造方法Student(String name,int ID,float chinese,float math,float english),完成对象属性的初始化 定义成员方法:计算 3门课程的“总分”sum()、“平均分”avg()、“最高分”max()及“最低分”min()。 (2)创建主类Main,利用数组对象的概念创建5个学生, 其姓名、ID和成绩均随机指定。输出每名同学的姓名,ID,总分,平均分,最高分及最低分。(其中,float输出按照,小数点后2位输出)输出大概什么样子

import java.text.DecimalFormat;
import java.util.Random;

class Student{
    private String name;
    private int ID;
    private float chinese;
    private float math;
    private float english;
    public Student(String name,int ID,float chinese,float math,float english){
        this.name = name;
        this.ID = ID;
        this.chinese = chinese;
        this.math = math;
        this.english = english;
    }
    public float sum(){
        return this.chinese + this.math + this.english;
    }
    public float avg(){
        return this.sum() / 3;
    }
    public float max(){
        float max = this.chinese;
        if(this.english > max){
            max = this.english;
        }
        if(this.math > max){
            max = this.math;
        }
        return max;
    }
    public float min(){
        float min = this.chinese;
        if(this.english < min){
            min = this.english;
        }
        if(this.math < min){
            min = this.math;
        }
        return min;
    }

    public String getName() {
        return name;
    }

    public int getID() {
        return ID;
    }
}
public class Main {
    public static void main(String[] args) {
        Random r = new Random();
        DecimalFormat df = new DecimalFormat("#.00");
        Student[] s = new Student[5];
        for(int i=0;i<5;i++){
            String name = "姓名"+(i+1);
            int ID = 2021001 + i;
            float chinese = r.nextFloat() * 100,
                math = r.nextFloat() * 100,
                english = r.nextFloat() * 100;
            s[i] = new Student(name,ID,chinese,math,english);
            System.out.println("第"+(i+1)+"名学生的信息:");
            System.out.println("姓名:"+s[i].getName()+",学号:"+s[i].getID()+",总分:"+df.format(s[i].sum())+",平均分:"+df.format(s[i].avg())+",最高分:"+df.format(s[i].max())+",最低分:"+df.format(s[i].min()));
        }
    }
}