四则运算题目生成程序(基于控制台)(Bug修改)

时间:2023-03-08 16:31:49

针对上个程序中出现的bug进行修改

https://git.coding.net/cx873230936/calculator.git

Bug:

1.控制台输入问题数问题

a.不能处理用户输入负数。

b.当用户连续输入非数字符时程序自动退出。

c.控制台无输入时出现异常。

四则运算题目生成程序(基于控制台)(Bug修改)

2.选择难度输入问题

a.当用户输入不为1或不为2的数时默认为1。

b.用户连续输入非数字符时程序自动退出。

四则运算题目生成程序(基于控制台)(Bug修改)

Bug修改:

 String questNum=input.nextLine();
while(!questNum.matches("\\d+"))//匹配数字
{
System.out.println("Please enter a number greater than 0!!");
questNum = input.nextLine();
}
System.out.printf("u will test %d questions.\n",Integer.parseInt(questNum));
System.out.println("easy or difficult?\n1、easy 2、difficult");
String easyOrDifficultStr=input.nextLine(); String regex="^[1|2]$";//匹配1或2
Pattern pattern = Pattern.compile(regex);// 将给定的正则表达式编译到具有给定标志的模式中
Matcher matcher = pattern.matcher(easyOrDifficultStr);// 模式进行匹配字符串
while(!matcher.matches()){
System.out.println("Please enter 1 or 2!!");
easyOrDifficultStr=input.nextLine();
matcher = pattern.matcher(easyOrDifficultStr);
}
easyOrDifficult=Integer.parseInt(easyOrDifficultStr);

四则运算题目生成程序(基于控制台)(Bug修改)