我正在用java编写视频扑克,我需要询问玩家是否要从他们的手中删除任何卡片。我为此编写了一个while
循环,但它的工作方式与它现在的方式不同。如果有人能把我送到正确的方向,我会很感激 - 我还是java的新手......谢谢。 (counter
就在那里,玩家不会删除超过5张牌)
String response = "y";
int counter = 0;
System.out.println("Remove any cards?");
System.out.println("Enter y for 'yes' and n for 'no'");
response = input.nextLine();
while((response != "n") && (counter < 5))
{
System.out.println("Enter the number of a card to be removed (1-5)");
int l = input.nextInt();
p.removeCard(p.getHand().get(l-1));
p.addCard(cards.deal());
cards.incrementTop();
counter ++;
System.out.println("Card removed. More? Type 'yes' or 'no'");
String answer = input.nextLine();
if (answer == "no")
{
response = "n";
}
}
答案 0 :(得分:5)
您无法使用!=
或==
来比较字符串。
while(!("n".equals(response)) && (counter < 5))
这里也一样
if (answer == "no")
其他需要改进的事项
.equalsIgnoreCase()
)另一个提示:对yes/no
使用布尔变量,更好更容易:)
答案 1 :(得分:2)
尝试使用String.equals()方法比较字符串。你的while循环应该是
while(( !response.equals( "n" )) && (counter < 5))
{
//do Something
}