为了账号安全,请及时绑定邮箱和手机立即绑定

哪里错了。。。复制到myeclipse又没错

import java.util.Arrays;

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

        int[] scores={89,-23,64,91,119,52,73};

        System.out.println("考试成绩前三名为:");

        HelloWorld hello=new HelloWorld();

        hello.big3(scores);

    }

        public void big3(int[] scores){

        Arrays.sort(scores);

        int count=0;

        for(int i=scores.length-1;i>=0&&count<3;i--){

            if(scores[i]<0||scores[i]>100){

                continue;

            }

            count++;

        System.out.println(scores[i]);

        }    

    }

}

    

    //定义方法完成成绩排序并输出前三名的功能


正在回答

1 回答

//我把你代码改了一下,你做的可以是可以,但不应该哪样做,在同一个类里面直接就可以调本身的方法和属性,何必在new一个对象出来调呢? 直接调不了是因为main是静态加载的,静态方法不能调实例方法,因为当你在静态方法里面使用实例时它还没有出生,所以你要在main方法里面调的话给他加个static给他静态化就行了,还有就是既然是打印前三名的方法,哪那句输出直接可以放方法里面就行了,这样就不用每次调用就要输出,只要调个方法就行了,提高代码的重用性

public static void main(String[] args) {

        int[] scores={89,-23,64,91,119,52,73};

        big3(scores);

    }

        public static void big3(int[] scores){

        Arrays.sort(scores);

        int count=0;

        System.out.println("考试成绩前三名为:");

        for(int i=scores.length-1;i>=0&&count<3;i--){

            if(scores[i]<0||scores[i]>100){

                continue;

            }

            count++;

        System.out.println(scores[i]);

        }    

    }


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

哪里错了。。。复制到myeclipse又没错

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信