所以在这个骰子滚动游戏中,用户输入的内容必须遵循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
循环检查?
答案 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]);