简体   繁体   中英

Only allowing numbers to be taken from user input in java

I have a little averaging program I have made and, I am trying to only allow it to take in numbers. Everything else works but, I can't seem to figure it out. I am still learning so, any advise or pointers would be awesome!

Here is my code.

import java.util.Scanner;

public class THISISATEST {
    public static void main(String[] args) {
        Scanner keyboard = new Scanner(System.in);
        int sum = 0;
        int count = 0;
        int i = 1;
        while (i <= 10) {
            i++;

            {
                System.out.print("Enter the test score: ");
                int tS = keyboard.nextInt();
                count++;
                sum = (sum + tS);
            }
            System.out.println(sum);
        }

        System.out.println("The Average is = " + sum / count);
    }
}

Inside your while loop use the following code:

System.out.print("Enter the test score: ");
while (!keyboard.hasNextInt()) {//Will run till an integer input is found
    System.out.println("Only number input is allowed!");
    System.out.print("Enter the test score: ");
    keyboard.next();
}
int tS = keyboard.nextInt();
//If input is a valid int value then the above while loop would not be executed   
//but it will be assigned to your variable 'int ts'
count++;

sum = (sum + tS);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM