samedi 8 août 2020

User input never enters if statement

The point of the program is to have a user input an amount of integers endlessly (until they enter something other than an integer), and for each integer the user inputs, it should check if the integer is greater than or less than the value entered.

The problem: When the program runs, everything is fine until reaching

number = scanner.nextInt();

At this point, the user inputs their integer, but never makes it inside the following if statements. I would love a hint instead of an answer, but I'll take what I can get.

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        do {
            System.out.println("Enter number: ");
            int number = 0;
            int minNumber = 0;
            int maxNumber = 0;
            boolean hasInt = scanner.hasNextInt();
            if (hasInt) {
                number = scanner.nextInt();
                if (maxNumber < number) {
                    maxNumber = number;
                }
                if (minNumber > number) {
                    minNumber = number;
                }
            } else {
                System.out.println("Your minimum number: " + number);
                System.out.println("Your maximum number: " + maxNumber);
                break;
            }
        } while (true);

        scanner.close();
    }
}

Aucun commentaire:

Enregistrer un commentaire