Не могу понять, почему мой метод не выполняется

Ниже приведен фрагмент кода из класса в простой программе, которую я пишу, которая играет в простую игру в блэкджек. Я не понимаю, почему метод hit не выполняется всякий раз, когда при выполнении программы я ввожу "hit". Это относится к остальной части заявления каждый раз, независимо от того, что я ввожу. Я даже добавил оператор System.out.println, чтобы убедиться, что строки совпадают. Я чувствую, что, должно быть, делаю очень основную ошибку, но я просто не могу понять это.

System.out.println("Would you like to hit or stand?");
    Scanner input = new Scanner(System.in);
    String playerDecision = input.nextLine();
    //System.out.println(playerDecision);

    if(playerDecision == "hit") {
        hit();
    }
    else { System.out.println("ERROR");

    }

}

public void hit(){
    player.makeHand(deck.draw());
    System.out.println("You have the following  cards: ");
    player.getHand();
    System.out.println("Your hand total is ");
    System.out.println(player.findHandTotal());

}

1 ответ

Решение

Неверное сравнение строк. Пытаться

if("hit".equals(playerDecision)) {
Другие вопросы по тегам