我不知道如何迭代我的for循环。
我已经在V [i]中有一些值(假设V [i]为double)。
现在V [i]由下面的循环更新。
我想减去old V[i]
和new V[i]
,并检查它是否为greater than 0.00005
。
一旦这个条件失败,就必须终止for循环,即迭代。
需要注意的重要一点是,在检查该条件时,必须对所有V (0,1,2...n)
值执行,然后必须执行循环。
我希望我的问题清楚明白。如果不是,请告诉我。我会详细说明。
for(int i=0;i<n;i++)
{
if("some_statement")
{
//find V[i]
}
else if("some_statement")
{
//find V[i]
}
}
答案 0 :(得分:0)
你可以使用
if( (Your value)>0.005 ) {
break;
}
Break将终止你的for循环,尝试阅读更多关于break的信息,当它遇到任何循环时它会破坏或停止执行那个外观
答案 1 :(得分:0)
使用下面的代码continue;
,此关键字仅针对该迭代终止循环,并且您的循环将针对所有V (0,1,2...n)
值执行。
if( (Vold[i]-Vnew[i)>0.005 ) {
continue;
}
要了解有关continue
的更多信息,请尝试使用此link
答案 2 :(得分:0)
for(int i=0; i<n; ++i){
if(v_old[i] - v_new[i] <= 0.0005) {
break;
}
}
你正在寻找那个吗?
答案 3 :(得分:0)
//a temp var to store found V[i] Values
Double old_Vi;
for(int i=0;i<n;i++)
{
if("some_statement")
{
//find V[i]
//now compare
if(old_Vi !=null && (V[i]-old_Vi)<0.00005)
break;
//store new V[i] as old Vi
old_Vi=V[i];
}
else if("some_statement")
{
//find V[i]
//now compare
if(old_Vi !=null && (V[i]-old_Vi)<0.00005)
break;
//store new V[i] as old Vi
old_Vi=V[i];
}
}
答案 4 :(得分:0)
我想我终于明白你想做什么......
final double threshold = 0.00005;
boolean failed = false;
do {
for (int i = 0; i < V.length; i++) {
double Vold = V[i];
V[i] = updateValue(V[i]);
if (V[i] - Vold > threshold) {
failed = true;
// Not sure if you want this break in here - it's still unclear what you really want
break;
}
}
} while (failed);
其中updateValue()
是实现所需更新的某个函数或表达式。