boolean a[]={false,true,false,true,false,true,false,true,false,true,false,true};
int h; int l=0;int k=9;
for(int i=0;i<k;i++){
for( h=l;h<ary.length;h++){
if(a[h]==true)break;
}
l=h;
System.out.println(l);
}
为甚么l的输出是九个0?内循环不是已经把break 出来的h的值赋值给l了吗?所以第二次循环应该是从h=2开始的啊?要让第二次循环从2开始,应该怎样修改?先谢谢各位了
int h; int l=0;int k=9;
for(int i=0;i<k;i++){
for( h=l;h<ary.length;h++){
if(a[h]==true)break;
}
l=h;
System.out.println(l);
}
为甚么l的输出是九个0?内循环不是已经把break 出来的h的值赋值给l了吗?所以第二次循环应该是从h=2开始的啊?要让第二次循环从2开始,应该怎样修改?先谢谢各位了
另外应该先把你要实现的目的说清楚,否则一句为什么输入9个0,完全不知所云。
应该是a.length
这里改后应该是输出9个1,不知道是不是你想要的结果,注意a[1]==true,所以h永远到不了2
for( h=l;h<ary.length;h++){
if(a[h]==true)break;
}
修改为
for( h=l;h<ary.length;){
h++
if(a[h]==true)break;
}