为什么我不能摆脱这个循环?

时间:2014-04-13 17:45:11

标签: java loops input while-loop

我们的项目主要涉及阅读有关英超联赛的文件并返回1.比赛结果,2场比赛尚未结束,3。排行榜(表格)。我在命令行中显示菜单,并从那里接收用户输入。我使用while循环将用户输入与要显示的输出相匹配,但我想说如果他们没有输入1,2或3表示出现错误并再次显示菜单并要求他们输入另一个输入。但是现在,如果我输入1,2或3,它不会显示我的结果,我无法退出while循环。谁能帮我?这是我的代码!

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;
        }
    }

1 个答案:

答案 0 :(得分:1)

如果要比较字符串值,则应使用equals()

if (userChoice.equals("1")) {
   // do something
}