2017-03-16 43 views
-4

任務:給定一個表示數組大小的整數。用整數填充數組。 如果數組包含三個不相鄰的相同元素,則返回true。 如果數組不包含三個相同的元素,或者包含但彼此相鄰,則返回false。行中沒有三個相同

public static boolean noThreeInRow(int [] array){ 

    for(int i = 0; i < array.length-1; i++){ 
     if(array.length < 3) System.exit(0); 
      if(array[i] != array[i+1]){ 
       return true; 
      }else return false; 
    }return true; 
} 

我無法解決這個問題。有人可以幫助我嗎?我很初學者!

+2

'if(array.length <3)System.exit(0);'不需要在循環中,也不需要退出JVM。如果長度小於3,則連續沒有3個:返回true。 –

+0

你能連續做2次嗎? –

+0

歡迎來到Stack Overflow!請參考[遊覽](http://stackoverflow.com/tour),環顧四周,閱讀[幫助中心](http://stackoverflow.com/help),特別是[我該如何問一個好問題?](http://stackoverflow.com/help/how-to-ask)和[我可以問什麼問題?](http://stackoverflow.com/help/on-topic)。 –

回答

0

嘗試使用計數器和兩個循環來比較每個數字。

int counter = 0; 
for(int i = 0; i < array.length-1; i++){ 
    if(array.length < 3) System.exit(0); 
     for (int j = 0; j < array.length-1; j++){ 
      if (array[i] == array [j+2]) counter ++ 
    } 
return true 
}return true; 

嘗試類似的東西。但是你必須弄清楚如何在j循環中處理array[i]之前的數字。快樂編碼:)

+0

我不明白你在說什麼。 – JanosKovacs911

相關問題