our project basically involves reading files about the premier league and returning 1. outcomes of games played, 2. fixtures yet to be played and 3. the leaderboard(table). I'm displaying a menu in the command line and also taking in the user input from there. I'm using a while loop to match the userinput with what output to display but I wanted to say if they don't enter 1,2 or 3 that there's an error and to display the menu again and ask them to enter another input. However now if I do enter 1,2 or 3, it doesn't display my results I can't get out of the while loop. Can anyone help me? This is my code!
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;
        }
    }
 
     
    