Java while循环从不进入循环
我正在用java编写一个视频扑克,我需要询问玩家是否想要从手中移除任何卡。我为此编写了一个Java while循环从不进入循环,java,while-loop,Java,While Loop,我正在用java编写一个视频扑克,我需要询问玩家是否想要从手中移除任何卡。我为此编写了一个while循环,但它现在的工作方式不正常。如果有人能告诉我正确的方向,我将不胜感激——我对java还是新手。。谢谢(有计数器,因此玩家移出的牌不会超过5张) String response=“y”; int计数器=0; System.out.println(“删除任何卡?”); System.out.println(“输入y表示“是”,输入n表示“否”); response=input.nextLine()
while
循环,但它现在的工作方式不正常。如果有人能告诉我正确的方向,我将不胜感激——我对java还是新手。。谢谢(有计数器
,因此玩家移出的牌不会超过5张)
String response=“y”;
int计数器=0;
System.out.println(“删除任何卡?”);
System.out.println(“输入y表示“是”,输入n表示“否”);
response=input.nextLine();
而((响应!=“n”)&&(计数器<5))
{
System.out.println(“输入要移除的卡的编号(1-5)”;
int l=input.nextInt();
p、 removeCard(p.getHand().get(l-1));
p、 addCard(cards.deal());
cards.incrementTop();
计数器++;
System.out.println(“卡已移除。更多信息?键入“是”或“否”);
字符串answer=input.nextLine();
如果(回答=“否”)
{
答复=“n”;
}
}
不能使用比较字符串=代码>或==
使用
其他需要改进的地方
- 用户第一次可以写“否”,但现在怎么写就不行了
- 您要求用户写“否”,但检查“n”
- N呢?是吗
- 那不呢?不(提示:搜索
.equalsIgnoreCase()
)
另一个提示是:对yes/no
使用布尔变量更好、更简单:)尝试使用String.equals()方法比较字符串。您的while循环应该是
while(( !response.equals( "n" )) && (counter < 5))
{
//do Something
}
while((!response.equals(“n”)&&(计数器<5))
{
//做点什么
}
现在它的工作方式是什么?它与“应该”的工作方式有什么不同?谢谢!我总是忘了弦。但我不明白为什么在询问玩家是否想要移除更多的牌后,它不等待回答,而是直接再次进入循环的第1行。为什么会发生这种情况?
while(!("n".equals(response)) && (counter < 5))
if (answer == "no")
while(( !response.equals( "n" )) && (counter < 5))
{
//do Something
}