如果數組中的四個不同數字都相等,則此方法應該返回true。但每當我試圖用4
相等數量的運行它,我得到一個錯誤,指出: 如何檢查數組中的4個不同數字是否相等?
異常線程「main」 java.lang.ArrayIndexOutOfBoundsException:5
在Assignment4.containsFourOfaKind(Assignment4.java: 93)
在Assignment4.main(Assignment4.java:16)
public static boolean containsFourOfaKind(int hand[]){
for (int i = 0; i < 5; i++) {
if (hand[i ] == hand[i + 1] &&
hand[i + 1] == hand[i + 2] &&
hand[i + 2] == hand[i + 3]
) {
return true;
}
}
return false;
}
我怎樣才能解決這個問題?
您正在從0循環到4.當您到達'i == 2'時,if語句中'i + 3'的值是什麼? –
如果(hand [i]!= hand [i + 1])返回false;當循環終止時,你知道所有的卡必須是相等的,所以你可以返回true。您的循環控制需要進行相應的設置才能正常工作。 – Feek