用户输入一串数字,我要确保他们输入的数字不大于6或小于1

问题描述 投票:0回答: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.