我创建了一个print方法,为什么stus.print调不出来


public class ExerTest2{
    public static void main(String[] args) {
        Student6[] stus = new Student6[20];
        for(int i = 0;i < stus.length;i++) {
            stus[i] = new Student6();
            stus[i].number = i+1;
            stus[i].state = (int)(Math.random()*6+1);
            stus[i].score = (int)(Math.random()*101);
        }
           stus.print();
        
    }
    //遍历学生数组
    public void print(Student6[] stus) {
          for(int i = 0;i < stus.length;i++) {
               System.out.println(stus[i].info());
          }
    }
}
class Student6{
    int number;
    int state;
    int score;
    
    public String info() {
        return "学号:" + number + " 年级:" + state + 
                " 成绩: " + score;
        
    }
}

print 修改为静态方法,调用print 方法时,stus作为参数。
代码修改如下

stus.print();
改为:
ExerTest2 test=new ExerTest2();
test.print(stus);

 
public class ExerTest2{
    public static void main(String[] args) {
        Student6[] stus = new Student6[20];
        for(int i = 0;i < stus.length;i++) {
            stus[i] = new Student6();
            stus[i].number = i+1;
            stus[i].state = (int)(Math.random()*6+1);
            stus[i].score = (int)(Math.random()*101);
        }
           ExerTest2 test=new ExerTest2();
           test.print(stus);
        
    }
    //遍历学生数组
    public static void print(Student6[] stus) {
          for(int i = 0;i < stus.length;i++) {
               System.out.println(stus[i].info());
          }
    }
}
class Student6{
    int number;
    int state;
    int score;
    
    public String info() {
        return "学号:" + number + " 年级:" + state + 
                " 成绩: " + score;
        
    }
}

img

print方法在哪呢?
而且stus.print();肯定不行啊,stus是学生数组啊,不是学生对象。你在循环里stus[i].print()还差不多


stus.print();
改为
new ExerTest2().print(stus);

img


如果写的回答对您有帮助,麻烦您给点击一下,采纳,十分感谢

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