ArrayIndex|Value|Running total
-------------------------------
0 | 6 | 6
1 | 1 | 7
2 | 6 | 13
3 | 2 | 15
I:array index
V:value
R:Running total
例如,我需要为给定的运行总计选择适当的索引
12 是给定的运行总计,因此适当的索引是 2,我将把我的代码块放在下面,它不起作用我尝试使用break;在 if 语句之后,任何人都可以帮我解决这个问题:)
int running_total = 0;
boolean v=false;
for(int x=0;x<=array.length;x++)
{
running_total+=array[x];
if(running_total>=12)
{
if(v==false)
{
v= true;
othermethods(x);
}
}
}
你的方法中唯一的错误是你让x
run to array.length
包容性,导致崩溃ArrayIndexOutofBoundsException
当总数小于 12 时。
将您的代码更改为
for(int x=0 ; x < array.length ; x++) {
...
}
以避免崩溃。
另一个“风格要点”是,而不是写作v==false
更传统的写法是!v
。最后,由于目的是停止调用othermethods(x)
找到运行总计满足条件的第一个索引后,您可以使用以下命令重写循环break
而不是布尔变量:
for(int x=0 ; x < array.length ; x++) {
running_total+=array[x];
if(running_total >= 12) {
othermethods(x);
break;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)