一次迭代后循环退出

时间:2013-03-27 14:15:26

标签: arrays loops iteration

我有以下循环:

    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处的值,但它会在一次迭代后退出。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

这是一个错误:

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

应该是

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