Не могу понять, почему мой метод не выполняется
Ниже приведен фрагмент кода из класса в простой программе, которую я пишу, которая играет в простую игру в блэкджек. Я не понимаю, почему метод 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)) {