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

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at dream.geshu.main(geshu.java:15)为什么会出现这样的错误?

ackage dream;


public class geshu {


/**

* 求奇数个数和偶数个数

*/

public static void main(String[] args) {

int sum=0;

int c=0;

int a[]=new int[]{1,2,3,4,5,6,7,8};

boolean bool=false;

for(int i=0;i<9;i++)

{

if(a[i]%2==0)

{

sum=sum+1;

bool=true;

}

else

{

c=c+1;

}

}

if(bool)

{

System.out.print("奇数的个数:"+sum);

}

else

{

System.out.print("偶数的个数:"+c);

}

}


}


正在回答

7 回答

for(int i=0;i<9;i++)中数组a中元素{1,2,3,4,5,6,7,8}明显只有8个,你写i<9,肯定会报数组下标越界的错误,所以改成i<8,或者i<a.length;

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

慕粉3932450 提问者

非常感谢!
2016-09-06 回复 有任何疑惑可以回复我~

数组越界

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

数组越界,数组中8个数,for循环从0开始,到<=7或<8即可,不知道数组长度就用a.length

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

索引是从0开始的你的数组是8个数,索引就是0-7    i<=7;

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

把i<9改成i<8

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

未导包 

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

下标越界异常,把for循环中的 i<9改成 i<a.length

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

举报

0/150
提交
取消

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at dream.geshu.main(geshu.java:15)为什么会出现这样的错误?

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