问答详情
源自:7-1 编程练习

帮忙看下为什么错了?谢谢

import java.util.Arrays;

public class HelloWorld {
    
    //完成 main 方法
    public static void main(String[] args) {
        
    HelloWorld hello=new HelloWorld();
        
int[] scores={89,-23,64,91,119,52,73};

      hello.work(scores);
    }
    
    //定义方法完成成绩排序并输出前三名的功能
    public void work(int[] scores){
    int count=0;
    Arrays.sort(scores);
    for(int i=0;i<scores.length-1;i++){
        if(scores[scores.length-i]>100||scores[scores.length-i]<0){
            continue;
            }
        count=count+1;
        System.out.println(scores[i]);
        if(count>2){
            break;
        }
             
    }
      
    
}

}

提问者:jerry8600 2015-04-22 16:16

个回答

  • demo_h
    2015-04-22 19:57:03

    数组下标越界异常 错误代码是这行  if(scores[scores.length-i]>100||scores[scores.length-i]<0) 当i=0的时候就数组下标越界了是不是 还有尽然你要输出前三数字 你已近使用了Arrays工具类 那就是已经按照从小到大排好序的 直接输出最后三个不就行了吗?