为什么这么输出不了,方法中的形参到底怎么填,都晕了


public class ExerTest2{
    public static void main(String[] args) {
        Student[] stus = new Student[20];
        for(int i = 0;i < stus.length;i++) {
            stus[i] = new Student();
            stus[i].number = i+1;
            stus[i].state = (int)(Math.random()*6+1);
            stus[i].score = (int)(Math.random()*101);
            stus[i].info(stus);
        }
    }
}
class Student{
    int number;
    int state;
    int score;
    
    public String info(Student[] stus) {
        return "学号:" + number + " 年级:" + state + 
                " 成绩: " + score;
        
    }
}

逻辑问题,其实你的函数根本不用传参,因为你都没用这个参数,正确代码应该是

public class Demo {
    public static void main(String[] args) {
        for(int i = 0;i < 20;i++) {
           Student student= new Student();
            student.number = i+1;
            student.state = (int)(Math.random()*6+1);
            student.score = (int)(Math.random()*101);
            System.out.println(student.info());
        }
    }
}
class Student{
    int number;
    int state;
    int score;

    public String info() {
        return "学号:" + number + " 年级:" + state +
                " 成绩: " + score;

    }
}

img

是要遍历打印所有学生信息吗?这样改一下试试


public class ExerTest2{
    public static void main(String[] args) {
        Student[] stus = new Student[20];
        for(int i = 0;i < stus.length;i++) {
            stus[i] = new Student();
            stus[i].number = i+1;
            stus[i].state = (int)(Math.random()*6+1);
            stus[i].score = (int)(Math.random()*101);
            System.out.println(stus[i].info());
        }
    }
}
class Student{
    int number;
    int state;
    int score;

    public String info() {
        return "学号:" + number + " 年级:" + state +
                " 成绩: " + score;

    }
}

第10刚代码 我们可以看到 这个方法是有返回类型的 可是你没有接受它 所以不会输出 你可以外面加一个p System. out. println()

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632