[编辑]哎呀代码中有一个错误,现在对问题的所有回答看起来很古怪,但基本上for循环曾经是,(i = 0; i <15; i ++).我也进行了编辑,使问题更加清晰.[/ EDIT]
我试图创建一个for循环,它检查一个16元素数组,所以它从0到15循环.然后我使用i变量,但有时我= = 16,这会导致问题超出界限.
我有一个解决方案,但它似乎不优雅,这让我觉得我错过了一些东西.我已经尝试过while循环,但是我永远不会得到任何循环从0到15,并且永远不会以大于15的值结束.
有没有办法让循环去检查数组的所有16个元素,而在循环结束时从不大于15?
int i;
for(i=0; i<16; i++)
{
someClass.someMethod(i);
if(someClass.Test())
{
break;
}
}
if (i == 16)
{
i = 15;
}
Run Code Online (Sandbox Code Playgroud)
我建议使用除i循环完成后的其他变量.使用for循环而不是while循环的标准是事先准确知道for循环执行的次数.如果您已经知道这一点,只需将其他变量设置为循环的结束值并使用它而不是给出i双重目的.
int j = 15;
for(int i=0; i <= j; i++)
{
someClass.array[i];
}
// continue on using j, which value hasn't changed
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1829 次 |
| 最近记录: |