读书人

数3退一 报错 请各位指点 不胜感激

发布时间: 2013-10-05 17:54:48 作者: rapoo

数三退一 报错 请各位指点 不胜感激
package com.test2;
//数三退一
public class Count3Quit {
public static void main(String[] args){
boolean[] a=new boolean[500];
for(int i=0;i<a.length;i++){a[i]=true;}
int index;
int count=0;
int len=a.length;
for(index=0;len>=1;index++){
if(a[index]==true){
count++;
if(count==3){count=0;a[index]=false;len--;}
}
if(index==a.length){index=0;}
}

for(int i=0;i<a.length;i++){
if(a[i]==true){System.out.print(i+1);}
}
}
}


报错:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 500
at com.test2.Count3Quit.main(Count3Quit.java:16)

我想问的是:这种for循环结束条件这样写:for(index=0;len>=1;index++)可以么?报错显示数组越界 ,我不太明白是哪里的问题 新人 还请各位多多指点不胜感激~
传说中的java,楼主还好没有发在C++版,否则被认为砸场地的。

》for(index=0;len>=1;index++)可以么?
显示不能这样写啊,你这个循环永远不会结束。
[解决办法]

菜鸟一只 多谢指点啦~其实我也是想多发几个地方能多点交流 嘿嘿


下次贴代码记得用代码格式,这没缩进看着难受。
[解决办法]
for(index=0;len>=1;index++)
估计是一个死循环,除非在循环体中,能让len小于1

读书人网 >C语言

热点推荐