基于内部循环更新外部for循环

时间:2017-01-11 19:33:05

标签: java loops

我的问题很简单。在我的下面的代码中,我使用了两个for循环来对数组进行某些操作。我必须更新外部for循环,以便从j的内部for循环中完成。因此,如果在内部for循环中j=3所以k=3+1,那么上面的for循环必须是i=4。但是,不是在上面的for循环中,它依次计算i=0,1,2,3.....

如何让它像我描述的那样工作?

int k = 0;
int sum = 0;
for (int i = k; i < n; i++) {
    int d = arr[i];
    sum++;
    for (int j = i + 1; j < n; j++) {
        if (arr[j] > d && arr[j] < d + 4) {
            sum++;
        }
        if (arr[j] > d + 4) {
            k = j;
            break;
        }
    }
}

2 个答案:

答案 0 :(得分:0)

尽管你在内部循环中更改了k它永远不会改变i的范围,它总是会是0,1,2,3 .....而不是你可以使用while循环并添加一个计数器在条件。 例如:

 int i = 0;
 while(i < 10){
      i = i+1;
      if(i == 10){
          i = i - 1;
      }
 }

现在情况正在发生变化。

答案 1 :(得分:0)

在你的第二个if语句中改变

k=j

i=j

你很高兴