Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在while循环中使用If语句,21点游戏_Java_If Statement_While Loop_Boolean - Fatal编程技术网

Java 在while循环中使用If语句,21点游戏

Java 在while循环中使用If语句,21点游戏,java,if-statement,while-loop,boolean,Java,If Statement,While Loop,Boolean,在学校完成我的黑杰克游戏的最后阶段。 我似乎在尝试编程逻辑时遇到了问题 基本上,只有当他们的牌是时,庄家才会命中。你的方法getDealHandValue是使用ArrayList playerHand 它应该使用dealerHand ArrayList 更好的方法是定义一个将列表作为参数的方法,然后用适当的列表调用它,比如 public int getHandValue(List<card> theHand) { int handValue = 0;

在学校完成我的黑杰克游戏的最后阶段。 我似乎在尝试编程逻辑时遇到了问题

基本上,只有当他们的牌是时,庄家才会命中。你的方法getDealHandValue是使用ArrayList playerHand

它应该使用dealerHand ArrayList

更好的方法是定义一个将列表作为参数的方法,然后用适当的列表调用它,比如

public int getHandValue(List<card> theHand) {
    int handValue = 0;        

    for (card a : theHand) {
        // Your logic
    }
    return handValue;
}

然后调用getHandValueplayerHand或getHandValuedealerHand

使用调试器查看代码偏离正常的位置。我已经尝试过了,但似乎仍然找不到任何错误。。。我对java比较陌生,这就是我来这里寻求帮助的原因。哈哈,非常感谢!我刚从上面抄过来,就忘了换了。。。我就知道这会很愚蠢。。。谢谢你处理我的白痴:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class dealer {

deck deck = new deck();
String dealerTopCardString = "";
card playerHandCard;
card dealerHandCard;
ArrayList<card> dealerHand = new ArrayList<card>();
ArrayList<card> playerHand = new ArrayList<card>();

public dealer(deck cards) {
    deck = cards;

}

public void start() {
    dealerHand = new ArrayList<card>();
    playerHand = new ArrayList<card>();
}

public String getPlayerHand() {

    String playerHandString = "";
    for (int i = 0; i < playerHand.size(); i++) {
        playerHandCard = playerHand.get(i);
        card card = new card(playerHandCard.getValue(),
                playerHandCard.getSuit());
        playerHandString += "\n";
        playerHandString += card.getValue();
        playerHandString += "\t";
        playerHandString += card.getSuit();
    }
    return playerHandString;

}

public String getDealerHand() {

    String dealerHandString = "";
    for (int i = 0; i < dealerHand.size(); i++) {
        dealerHandCard = dealerHand.get(i);
        card card = new card(dealerHandCard.getValue(),
                dealerHandCard.getSuit());
        dealerHandString += "\n";
        dealerHandString += card.getValue();
        dealerHandString += "\t";
        dealerHandString += card.getSuit();
    }
    return dealerHandString;
}

public void dealPlayer() {

    playerHand.add(deck.deal());

}

public void dealDealer() {

    dealerHand.add(deck.deal());

}

public String getDealerTopCard() {
    String dealerTopCard = "";
    card cardTop = dealerHand.get(0);
    card card = new card(cardTop.getValue(), cardTop.getSuit());
    dealerTopCard += "\n";
    dealerTopCard += card.getValue();
    dealerTopCard += "\t";
    dealerTopCard += card.getSuit();
    return dealerTopCard;

}

@Override
public String toString() {

    return  "\n" + game.name + "'s cards : " + getPlayerHand() + "\n\n " + game.name + "'s total: "
            + getPlayerHandValue() + "\n\n" + "Dealer is showing : "
            + getDealerHand();
}

public int getPlayerHandValue() {
    int playerHandValue = 0;        

    for (card a : playerHand) {
        String c = a.getValue();
        if (c.equals("J")) {
            playerHandValue += 10;
        }

        else if (c.equals("Q")) {
            playerHandValue += 10;
        }

        else if (c.equals("K")) {
            playerHandValue += 10;
        }

        else if (c.equals("A")) {
            playerHandValue += 11;
        }

        else {
            playerHandValue += Integer.parseInt(a.getValue());

        }
    }

    int valueOfCards = playerHandValue;
    return valueOfCards;
}

public int getDealerHandValue() {
    int playerHandValue = 0;        

    for (card a : playerHand) {
        String c = a.getValue();
        if (c.equals("J")) {
            playerHandValue += 10;
        }

        else if (c.equals("Q")) {
            playerHandValue += 10;
        }

        else if (c.equals("K")) {
            playerHandValue += 10;
        }

        else if (c.equals("A")) {
            playerHandValue += 11;
        }

        else {
            playerHandValue += Integer.parseInt(a.getValue());

        }
    }

    int valueOfCards = playerHandValue;
    return valueOfCards;
}

public void resetDealerHand() {
    dealerHand.clear();
}

public void resetPlayerHand() {
    playerHand.clear();
}

}
public int getHandValue(List<card> theHand) {
    int handValue = 0;        

    for (card a : theHand) {
        // Your logic
    }
    return handValue;
}