Java while循环从不进入循环

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()

我正在用java编写一个视频扑克,我需要询问玩家是否想要从手中移除任何卡。我为此编写了一个
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 
  }