在Java中输入无效后,如何重新运行输入请求?

在Java中输入无效后,如何重新运行输入请求?,java,input,Java,Input,我正在寻找一个只允许回答1或2的解决方案。 如果输入了另一个答案,如何再次请求输入? 谢谢 这是一个简单的方法,但我建议你自己做一些研究,因为我相信你可以想出一个更符合你喜好的答案: boolean right=false; do{ System.out.println("Are you single or married? \n 1 - Single \n 2 - Married"); status = in.nextInt(); if(status.equals("1") || status

我正在寻找一个只允许回答1或2的解决方案。 如果输入了另一个答案,如何再次请求输入? 谢谢


这是一个简单的方法,但我建议你自己做一些研究,因为我相信你可以想出一个更符合你喜好的答案:

boolean right=false;
do{
System.out.println("Are you single or married? \n 1 - Single \n 2 - Married");
status = in.nextInt();
if(status.equals("1") || status.equals("2");{right=true;}
}
while(status==false);
我建议研究
while
循环和
if语句


希望这有帮助。

您可以尝试下面的方法

警告:我没有测试此代码

while(true)
{
  System.out.println("Are you single or married? \n 1 - Single \n 2 - Married");
  status = in.nextInt(); // allow input for status

  if(status==1 || status==2)
      break;

}

这将继续打印相同的问题,直到答案为1或2。您可能需要添加一个
System.out.print(“\f”)
为了美观起见,在提问之前先清除屏幕。

尝试在和中断语句时查找
。这在@ajb?+1.中如何起作用。。为什么投反对票。。这听起来像是初学者的合法问题。
while(true)
{
  System.out.println("Are you single or married? \n 1 - Single \n 2 - Married");
  status = in.nextInt(); // allow input for status

  if(status==1 || status==2)
      break;

}
do{
System.out.println("Are you single or married? \n 1 - Single \n 2 - Married");
status = in.nextInt(); //allow input for status
}while((status!=1)&&(status!=2));