如何验证用户输入是否在一定范围内?

问题描述 投票:-1回答:1

我编写了一个程序,要求用户输入1-6之间的数字字符串,并返回获取字符串所需的掷骰数。我想验证输入内容,以便该人员输入的数字不会大于6或小于1,而且我似乎无法弄清楚该怎么做。

int SIDES = 6;
String userString = "null";
String answer = "null";
int length = 0;
do {
    do {
        System.out.print("please enter a string of 6 numbers you want to be rolled");
        userString = keyboard.next();
    while (length != SIDES) {
        System.out.println("please enter a valid string number");
        userString = keyboard.next();
    } 
        length = userString.length();
} while ( length != SIDES); // I want to add the validation to this line
dieRoll(userString);
java loops validation dice
1个回答
0
投票
while (length != SIDES) {
    userString = keyboard.next();
    try {
        int userStringNumber = Integer.parseInt(userString);
        if(userStringNumber<1||userStringNumber>6)
            throw new IllegalArgumentException();
    } catch (NumberFormatException e) {
        System.out.println("Please provide a number");
    }
    catch (IllegalArgumentException ex){
        System.out.println("Number should be between 1 and 6");
    }

}
© www.soinside.com 2019 - 2024. All rights reserved.