如果数组中的四个不同数字都相等,则此方法应该返回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