Две функции. Во-первых, чтобы проверить ввод:
static boolean is_valid_number(String x) {
// returns true if the input is valid; false otherwise
if(x.length != 5 || Integer.valueOf(x) > 99999) {
// Check that both:
// - input is exactly 5 characters long
// - input, when converted to an integer, is less than 99999
// if either of these are not true, return false
return false;
}
// otherwise, return true
return true;
}
и второе, чтобы получить пользовательский ввод:
static int get_user_input() {
// Create a scanner to read user input from the console
Scanner scanner = new Scanner(System.in);
String num = "";
do {
// Continuously ask the user to input a number
System.out.println("Input a number:");
num = scanner.next();
// and continue doing so as long as the number they give isn't valid
} while (!is_valid_number(num));
return Integer.valueOf(num);
Возможно, вам также придется выполнить некоторую обработку ошибок, если данный ввод не является целым числом. Вы можете реализовать is_valid_number()
кратко следующим образом:
static boolean is_valid_number(String x) {
try {
return (x.length == 5 && Integer.valueOf(x) <= 99999);
} catch (NumberFormatException e) {
// Integer.valueOf(x) throws this when the string can't be converted to an integer
return false;
}
}