Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8844429
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 14, 20262026-06-14T11:29:05+00:00 2026-06-14T11:29:05+00:00

I need to ask the user to enter a positive non-zero integer from the

  • 0

I need to ask the user to enter a positive non-zero integer from the console that I will use as a product number in my program.

If I enter any non-integer value, the program correctly enters the while loop.

If I enter a 0 or a negative integer, the program correctly throws the exception (which I catch and handle elsewhere).

When I just press the enter key (or end of line character) it seems that the program just puts the console to another line. I want it to enter the while loop to display the error message. I think the cause is that hasNextInt() will wait until the token is a non end of line character input.

private static void validateProductNumber() throws InvalidProductNumberException { 
    Scanner keyboard = new Scanner(System.in);
    int number;
    while(!keyboard.hasNextInt()) { 
        System.out.println("Number must be an integer. Try again. ");
        System.out.println("Enter a new number: ");
        keyboard.next(); 
    }
    number = keyboard.nextInt();
    if (number <= 0)
        throw new InvalidProductNumberException();
    newNumber = number;
}

Is there another way I can implement my input validation with Scanner class so that it works correctly for all situations?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-14T11:29:06+00:00Added an answer on June 14, 2026 at 11:29 am

    You can change your loop as follows:

    while(true) {        
        try {
            System.out.println("Enter a new number: ");
            //read the line and parse it
            number = Integer.parseInt(keyboard.nextLine());
            break; //break the loop if the input is a valid integer
        } catch(Exception ex) {
            //print the error message if the input is incorrect
            System.out.println("Number must be an integer. Try again. ");
        }
    }
    if (number <= 0)
    //...
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I need to write a program, that will ask a user to enter a
I need to write a javascript program that will ask the user to enter
I need to ask a number from the user and have then if it
Write a Python program that will ask the user to enter a string of
As part of my WiX-based installation, I need to ask the user to enter
I'm trying to make a C function which will ask the user to enter
I'm coding a new website that will need users to enter their mobile phone
Hey all. I have a project that will require user input of anywhere from
I need to write a simple program that ask the user to insert 4
I have a SQL question that i need to ask the experts. To be

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.