骰子滚动游戏

时间:2015-09-27 17:00:31

标签: java validation while-loop character dice

所以在这个骰子滚动游戏中,用户输入的内容必须遵循xdy的格式,其中“x”是骰子的数量,“y”是骰子的边数。如果输入不符合格式,程序应该要求用户输入另一个输入。

public static void main(String[] args) {
    // TODO Auto-generated method stub

    Scanner user_input = new Scanner(System.in);

    String input;
    System.out.println("Please enter the number and type of dice to roll in the format <number>d<sides>.");
    input = user_input.nextLine();  

    while()
            {
            System.out.println("Input is not valid. Please enter a new input");
            input = user_input.nextLine();
            }

    Random randomGenerator = new Random();
    int randomInt = randomGenerator.nextInt(5);

我的问题是,如何对两个整数之间的字符进行while循环检查?

2 个答案:

答案 0 :(得分:1)

执行此操作的一种优雅方法是使用Pattern

Pattern p = Pattern.compile("\\d+d\\d+");
input = user_input.nextLine();  

while (!p.matcher(input).matches) {
    System.out.println("Input is not valid. Please enter a new input");
    input = user_input.nextLine();
}

答案 1 :(得分:0)

将numberOfSides和Number OfDice分成两个变量,然后随意做任何事情。

String input="6d3";
int numSides=Integer.parseInt(input.split("d")[0]);
int numDice=Integer.parseInt(input.split("d")[1]);