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

求java大神解答

求java大神解答

钊兄兄4281648 2017-09-16 20:48:06
package imooc;import java.util.Arrays;public class HelloWorld { public static void main(String[] args) {  HelloWorld helloworld = new HelloWorld();  int[]scores = new int[] {23,34,45,21,119,-223,72};  helloworld.Sort(scores); //报错 } public void Sort(int[]scores) {  Arrays.sort(scores);  int[]score = new int[3];  int count=0;  for(int i=0;i<scores.length;i++) {   if(scores[i]>100) {    continue;   }   else {    if(count>3) {     break;    }    else {       score[count] = scores[i];  //报错     count++;    }   }  }  System.out.println(Arrays.toString(score)); }}为什么会报错 一脸懵逼
查看完整描述

1 回答

已采纳
?
慕婉清0_郁乱我心

TA贡献22条经验 获得超43个赞

在 if (cont>3) 这里 是可以的 但是你定义的 数组   为int[] score = new int[3]; 所以 索引最高为2

但是你在  score[count] = scores[i];   这里的 时候 count 的值 是可以 取到 3 的. 所以 就会报

java.lang.ArrayIndexOutOfBoundsException        数组下标越界 异常

注意: 

        数组的 下标最大 为 数组长度(个数) 减一, 因为 index 是从 0 开始的!

查看完整回答
1 反对 回复 2017-09-16
  • 1 回答
  • 0 关注
  • 1350 浏览

添加回答

举报

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