[英]Boolean method that passes in instance of object giving error for return statement
我正在制作二十一點游戲,並且正在研究一種方法來查看玩家是否擁有一張A。
public static boolean hasAce(Player player){
for (int j=0; j<player.getNumOfCards();j++){
int cardValue = player.getCard(j).getValue();
if (cardValue == 1){
return true;
} else {
return false;
}
}
}
好的,這給了我一個錯誤,它必須返回一個布爾型,但是我是。 看起來它想在最底部使用return語句,但是如果我需要if語句,那是不可能的。
PS。 代碼可能難以讀取,因為這些是我自己的方法,但是基本上, if (cardValue == 1)
則有一個ace,而for循環只是循環播放玩家擁有的卡。
編譯器無法確定是否保證可以運行for循環,因此會抱怨。 還有另一個問題。 您的for循環僅迭代一次,因為它僅在檢查了第一張卡后才會返回。 您可以將其更改為:
public static boolean hasAce(Player player) {
boolean returnValue = false;
for (int j = 0; j < player.getNumOfCards(); j++) {
int cardValue = player.getCard(j).getValue();
if (cardValue == 1) {
returnValue = true;
break;
}
}
return returnValue;
}
現在,一旦找到一張王牌,這便會中斷。 否則,它將檢查手中的每張卡,並且如果未找到任何王牌,則returnValue仍為false。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.