【问题标题】:Loop quits after one iteration循环在一次迭代后退出
【发布时间】:2013-03-27 14:15:26
【问题描述】:

我有以下循环:

    public int getIsRepeated(int index)
    {
        long currentValue = myValues[index - 1];
        long previousValue = myValues[index - 2];

        int count = 0;

        for (int i = index - 5; i >= 4; i =- 4) 
        {
            if (myValues[i] == currentValue && myValues[i - 1] == previousValue)
                count++;
        }

        return count;
    }

表格中填充了数字,其中数字可以以 4 个为一组重复,例如:

        myValues[1] = 29;
    myValues[2] = 12;
    myValues[3] = 144;
    myValues[4] = 123;
    myValues[5] = 234;
    myValues[6] = 348;
    myValues[7] = 666;
    myValues[8] = 333;
    myValues[9] = 100;
    myValues[10] = 500;
    myValues[11] = 666;
    myValues[12] = 333;
    myValues[13] = 100;
    myValues[14] = 500;
    myValues[15] = 666;
    myValues[16] = 333;
    myValues[17] = 100;
    myValues[18] = 500;
    index= 19;

该函数应该开始检查重复值,并从索引 14 和 13 开始,并将它们分别与索引 18 和 17 进行比较。然后循环应该再迭代一次以比较索引 10 和 9 处的值,但它会在一次迭代后退出。

我在这里错过了什么?

【问题讨论】:

  • 你为什么要四肢着地?如果数字以某种方式相关,则将它们放入复合类型(对象)中并拥有一个数组。

标签: arrays loops iteration


【解决方案1】:

这是一个错误:

for (int i = index - 5; i >= 4; i =- 4)

应该是

for (int i = index - 5; i >= 4; i -= 4)

【讨论】:

  • arrghh 带有负面影响的小错字
猜你喜欢
  • 1970-01-01
  • 2016-04-13
  • 2019-08-29
  • 2016-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多