四则运算题目生成程序(基于控制台)(Bug修改)
针对上个程序中出现的bug进行修改
https://git.coding.net/cx873230936/calculator.git
Bug:
1.控制台输入问题数问题
a.不能处理用户输入负数。
b.当用户连续输入非数字符时程序自动退出。
c.控制台无输入时出现异常。

2.选择难度输入问题
a.当用户输入不为1或不为2的数时默认为1。
b.用户连续输入非数字符时程序自动退出。

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修改)的更多相关文章
- 个人作业1——四则运算题目生成程序(java代码,基于控制台)
一.题目描述: 从<构建之法>第一章的 "程序" 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 "软件",满足以下需求: ...
- 个人作业1——四则运算题目生成程序(基于C++)
题目描述: 从<构建之法>第一章的 "程序" 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 "软件",满足以下需求: 1 ...
- 【2015 软件工程 个人项目 PJ1】四则运算题目生成程序
1.开发时间预估 PSP2.1 Personal Software Process Stages Time Planning 计划 · Estimate · 估计这个任务需要多少时间 2day Dev ...
- 个人作业1——四则运算题目生成程序(基于java)
项目代码: https://git.coding.net/YJh_/11.git 题目要求: 除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:/ + / = / 运算符为 +, −, ×, ...
- 高级软件工程2017第3次作业——结对项目:四则运算题目生成程序(基于GUI)
Deadline:2017-10-11(周三)21:00pm (注:以下内容参考集大作业 ) 前言 想过和别人一起探索世界吗?多么希望,遇到困难时,有人能一起探讨:想要懈怠时,有人推你一把:当你专注于 ...
- 1st 四则运算题目生成程序
程序代码见此 程序展示 需求分析 需要程序能根据用户指定生成四则运算的题目,并且能让用户做题,并且最后打分统计正确率 功能设计 主要实现的功能就是: 接受用户输入以便知道要出多少道题目(-n x) 能 ...
- 四则运算题目生成(python版)
四则运算题目生成-基于控制台 项目托管在码云:飞机票 需求分析 根据控制台提示信息,输入题目生成相关配置参数 题目生成数量 数字范围 式子中是否有分数 .... 程序支持 10000 题目生成 题目与 ...
- java实现四则运算应用(基于控制台)
项目地址:https://gitee.com/wxrqforever/object_oriented_exp1.git 一.需求分析: 一个基于控制台的四则运算系统,要能实现生成并计算含有真,假分数, ...
- 小学生四则运算出题软件-基于java控制台的实现
.题目描述: 1. 使用 -n 参数控制生成题目的个数,例如 Myapp.exe -n 10 -o Exercise.txt 将生成10个题目. 2. 使用 -r 参数控制题目中数值(自然数.真分数和 ...
随机推荐
- swift3.0 移除当前页面的前一个页面
用的是以下的跳转方式 self.navigationController?.pushViewController(viewController, animated: true) 在当前页面移除方式 s ...
- NYOJ 252 01串(斐波那契数列变形)
01串 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有“11”子串的这种长度的01串共有多少个, ...
- java变量、二进制、数据类型、原码、补码、反码
1. 变量 1. 他 她 我 你 某人 佚名 旺财 X-man x = 1 您好! 它 (变量就是自然语言中的代词) 2. int age = 15;// 00000000 0000 ...
- 14. Longest Common Prefix【leetcode】
14. Longest Common Prefix Write a function to find the longest common prefix string amongst an array ...
- jQuery.Gantt
使用jQuery.Gantt过程中,遇到的问题!
- HDU 1159 Common Subsequence:LCS(最长公共子序列)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1159 题意: 求最长公共子序列. 题解: (LCS模板题) 表示状态: dp[i][j] = max ...
- 手工释放linux内存——/proc/sys/vm/drop_caches
--手工释放linux内存——/proc/sys/vm/drop_caches 总有很多朋友对于Linux的内存管理有疑问,之前一篇日志似乎也没能清除大家的疑虑.而在新版核心中,似乎对这个问题提供了新 ...
- DATAGUARD常用管理命令
--DATAGUARD常用管理命令 ----------------------------2014/04/22 备用服务器的管理模式与只读模式 1.1备库启动到管理恢复模式 SQL>shutd ...
- Selenium2 (python)
包名:selenium 支持浏览器:Firefox,InternetExplorerDriver,OperaDriver,Chrome(要使用一种浏览器应下载相应的driver驱动) 一.基本命令 d ...
- Swiper.js
Swiper常用于移动端网站的内容触摸滑动 http://idangero.us/swiper/#.WUCSo_mGOUk