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

为什么输出报错?

import java.util.Arrays;
public class HelloWorld {
    
    //完成 main 方法
    public static void main(String[] args) {
     int[] scores={64,91,119,52,73};
     HelloWorld hello=new HelloWorld();
      System.out.println("考试成绩的前三名为");
        
    hello.a(scores);    
        
    }
    
    //定义方法完成成绩排序并输出前三名的功能
    public int a(int[] scores)
    {int num=0;
    Arrays.sort(scores);
        for(int i=scores.length-1;i>=0&&n<=3;i--)
        {
            if(scores[i]<0||scores[i]>100)
            continue;
            num++;
        }
        System.out.println(num[i]);
        
    }
    
    
    
    
    
    
   
    
}


正在回答

2 回答

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.a (scores);    

        

    }

    

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

    public void  a(int[] scores){

        Arrays.sort(scores);

        int num=0;

        for(int i =scores.length-1;i>=0;i--){

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

            {continue;}

            num++;

            if(num>3)

            {break;}

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

            

        }

    

    }

    

    

    

    

    

    

    

    

    

}

重写了一次好像可以了


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

for循环的条件错了,你写的i在0和3之间才能循环,但i的初始值就是scores.length-1,等于4,然后就跳出循环了啊

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

八月末央262 提问者

但是如果把n<=3放在后面写成if语句也报错啊
2018-03-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么输出报错?

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