mercredi 2 décembre 2020

In Java, how to restrict a user to enter only one type?

In this case, I have asked the user to enter 1,2 or 3. If user enters string, it should ask the question again. when my code runs, every if statement is running, where as I want to run a specific if statement. It would be a huge favor if anyone could help me.

    String question = "What is the color of banana? Write 1,2 or 3. Choose one of the following:";
    String answerOne = "1. yellow";
    String answerTwo = "2. red";
    String answerThree = "3. blue";

    while(true){
        System.out.println(question + "\n" + answerOne + "\n" + answerTwo + "\n" + answerThree);
        Scanner input = new Scanner(System.in);
        if (input.hasNext()) {
            System.out.println("Please select a NUMBER between 1 and 3.");
        }
        if (input.hasNextDouble()) {
            System.out.println("Please select a NUMBER between 1 and 3.");
        }
        if (input.hasNextInt()) {
            int x = input.nextInt();
            if (x == 1) {
                System.out.println("Congratulations!! your answer is correct");
                break;
            }
            if (x == 2 || x == 3) {
                System.out.println("Sorry!! the correct answer is" + answerOne);
                break;
            }
            if (x > 3) {
                System.out.println("Please choose the correct answer!!");
            }
        }

    }
}

Aucun commentaire:

Enregistrer un commentaire