如何在java中执行迭代?

时间:2014-03-15 18:54:22

标签: java arrays loops

我不知道如何迭代我的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]
      }
}

5 个答案:

答案 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)

使用临时变量存储旧的V [i]

//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()是实现所需更新的某个函数或表达式。