2013-03-27 53 views
0

我有以下循環:環路退出後一次迭代

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處的值,但是它會在一次迭代後退出。

我在這裏錯過了什麼?

+0

你爲什麼在四肢下去?如果這些數字以某種方式關聯起來,將它們放在一個複合類型(對象)中並且有一個數組。 – SpacedMonkey 2013-03-27 14:49:27

回答

0

這裏是一個錯誤:

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

應該

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

arrghh帶有負面副作用的小錯字 – 2013-03-27 14:21:18