【发布时间】:2014-11-10 20:20:38
【问题描述】:
下面是我正在编写的一个简单程序中的一个类的代码的 sn-p,它玩一个简单的二十一点游戏。 我不明白为什么每次执行程序时,我输入“hit”时,hit 方法都没有执行。无论我输入什么,它每次都会转到语句的 else 部分.我什至添加了一个 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());
}
【问题讨论】:
-
比较两个字符串时需要使用
equals方法。 -
字符串比较应该用equals方法。
标签: java if-statement methods