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

Exception in thread "main"

Exception in thread "main"

Amber_9333 2019-06-20 11:24:42
package com.THREE; import java.util.Arrays; public class CLASS_8_1 { // TODO Auto-generated method stub     public static void main(String[] args) {         int[]scores= {89,-23,64,91,119,52,73};         System.out.println("前三:");         CLASS_8_1 top=new CLASS_8_1();         top.getTop3(scores);     }     public void getTop3(int[]scores) {         Arrays.sort(scores); // 先对数组从小到大排序         int num=0; // 计数器         for(int i=scores.length-1;i>=0;i++) { // 倒序判断,除了大于100的三位数字,就是前三名          if(scores[i]>100||scores[i]<0) {          continue; // 如果成绩大于100或小于0,跳过该成绩,该成绩不进入计数器,但是for循环仍然继续运行          }             num++;          if(num>3) {             break; // 如果计数器超过三位,跳出for循环          }             System.out.println(scores[i]); // 依次输出前三名的成绩         }     } }Console:前三:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7 at com.THREE.CLASS_8_1.getTop3(CLASS_8_1.java:26) at com.THREE.CLASS_8_1.main(CLASS_8_1.java:19)行数不一样,我原来的程序开头有注释,反正就是这里:if(scores[i]>100||scores[i]<0) {和这里:top.getTop3(scores);
查看完整描述

2 回答

已采纳
?
移动的红烧肉

TA贡献13条经验 获得超70个赞

兄弟:

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

 你既然想倒序循环,为什么不是 i--, 你 i++ 不是越来越大吗??

查看完整回答
2 反对 回复 2019-06-20
  • Amber_9333
    Amber_9333
    哈哈哈,谢谢谢谢~~因为事直接修改其他程序的,这个小细节给漏了~,对啦,我是姑娘哦~哈哈哈哈哈
?
慕虎8459273

TA贡献4条经验 获得超0个赞

这个什么报错

查看完整回答
反对 回复 2019-06-20
  • 2 回答
  • 0 关注
  • 694 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信