Java 为什么我不能退出这个while循环?
我们的项目主要包括阅读有关英超联赛的文件并返回1。游戏结果,2。赛程还有待打,还有3场。排行榜(表)。我在命令行中显示一个菜单,并从那里接收用户输入。我使用while循环将userinput与要显示的输出相匹配,但我想说,如果他们没有输入1、2或3,则会出现错误,并再次显示菜单,并要求他们输入另一个输入。然而,现在如果我输入1、2或3,它不会显示我的结果,我无法跳出while循环。有人能帮我吗?这是我的密码Java 为什么我不能退出这个while循环?,java,loops,input,while-loop,Java,Loops,Input,While Loop,我们的项目主要包括阅读有关英超联赛的文件并返回1。游戏结果,2。赛程还有待打,还有3场。排行榜(表)。我在命令行中显示一个菜单,并从那里接收用户输入。我使用while循环将userinput与要显示的输出相匹配,但我想说,如果他们没有输入1、2或3,则会出现错误,并再次显示菜单,并要求他们输入另一个输入。然而,现在如果我输入1、2或3,它不会显示我的结果,我无法跳出while循环。有人能帮我吗?这是我的密码 while(userInput == false) { Scan
while(userInput == false)
{
Scanner input = new Scanner(System.in);
String pattern = "[1-3]{1}";
String userChoice;
System.out.println(menuOptions);
userChoice = input.nextLine();
if(userChoice == "1")
{
System.out.print(outcomesResults);
userInput = true;
}
if(userChoice == "2")
{
System.out.print(fixturesResults);
userInput = true;
}
if(userChoice == "3")
{
System.out.print(leaderboardResults);
userInput = true;
}
else if(!userChoice.matches(pattern))
{
System.out.println();
System.out.println("Error: unidentified selection. Please choose 1,2 or 3");
userInput = false;
}
}
如果要比较字符串值,应使用: userchoice.equals(“1”)
if (userChoice.equals("1")) {
// do something
}