一个异常问题 谢谢 如图

来源:7-1 编程练习

慕粉3274091

2016-04-30 08:55

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


写回答 关注

4回答

  • 葫芦娃3250413
    2016-04-30 21:03:02
    已采纳

    这是抛出ArrayIndexOutOfBoundsException异常,也就是说你的数组超出了范围,  for(int i=score2.length-1;i>=0;i--)这里面的score2.length要减1, if(cout>=3)这里面的cout是大于等于3。

    葫芦娃325... 回复慕粉3274...

    不用客气哒~楼上说的错误也有的昂~

    2016-05-02 09:47:55

    共 2 条回复 >

  • 慕移动9181930
    2022-03-29 04:32:48
  • 呵护CX
    2016-04-30 13:11:13

    第1行导入Arrays方法

    import java.util.Arrays;

    第21行:score2[i]>100&&score<0;这个数不存在,应该为或||

  • 孤傲的川
    2016-04-30 10:20:58

    21行 :这个大于100  并且要小于0 这种数字不存在吧!你改一下试试(||)

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165175 学习 · 17581 问题

查看课程

相似问题