任务03——简单程序测试及 GitHub Issues 的使用
我提交的Issue
对方提交给我的Issue
对于对方提出的问题,我的理解是当程序接收到非法字符时才会重新输入,对于正常的输入(都由数字组成)如果是错误的,自然是直接生成新题目,毕竟最后还要给出正确率。
在修改自己的程序时,主要的困难就是第4个问题(如果用户输入除数字及 / 之外的其他字符(含空格、小数点等),程序是否会拒绝输入?)和第7个问题(程序是否能避免生成已经生成过的算式(包含对于加法运算来说,A+B 与 B+A 的也属于重复算式)?)。
对于第4个问题,我是这么解决的:对于正确答案来说,除了数字以外最多只有一个“/”和一个“-”,所以我就用replaceFirst把第一次出现的“/”或者“-”去掉,如果后面还有“/”和“-”肯定就是错啦。当然这样也能判断出其他非法字符。
public static boolean isNumeric(String str) { //判断输入字符是否合法 Pattern pattern = Pattern.compile("^[0-9]*$"); if (str.contains("/") && str.contains("-")) { str = str.replaceFirst("/", ""); str = str.replaceFirst("-", ""); } else if (str.contains("/")) { str = str.replaceFirst("/", ""); } else if (str.contains("-")) { str = str.replaceFirst("-", ""); } return pattern.matcher(str).matches();} 对于第七个问题,因为A+B与B+A也属于重复算式,所以有了下面的now和now1,用来记录当前随机生成的数字a和b。now和now1与记录每一次生成结果的数组record[]作比较,如果record已经记录过,则需要重新生成。
String now = "" + a + b; //避免生成相同算式String now1 = "" + b + a;for (int j = 0; j < i; j++) { while (record[j].equals(now) || record[j].equals(now1)) { a = r.nextInt(10); b = r.nextInt(9) + 1; while (a == b || a > b) { //这里的a>b是为了生成真分数,不写也可以 a = r.nextInt(10); b = r.nextInt(9) + 1; } now = "" + a + b; now1 = "" + b + a; j = 0; }}record[i] = now;
转载于:https://www.cnblogs.com/szm6/p/6623513.html
任务03——简单程序测试及 GitHub Issues 的使用相关推荐
- 一个简单的pingpong程序测试mpi消息通讯的开销及并行计算通讯启动时间测算
一个简单的pingpong程序测试mpi消息通讯的开销及并行计算通讯启动时间测算 一个简单的pingpong程序测试mpi消息通讯的开销 随着科技的进步,集群单节点计算能力的提高,似乎通讯开销成了并行 ...
- 基于 github issues 实现第三方评论系统
本文只是介绍如何基于 github issues 实现第三方评论系统,对于 Hexo 介绍,本文并不打算详述,如果有童鞋之前还没有了解 Hexo 的,可以先看一下之前文章<静态博客框架 Hexo ...
- python编写程序-30分钟学会用Python编写简单程序
参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方式修改它们. 了解构成有效Python标识符和表 ...
- python程序-30分钟学会用Python编写简单程序
原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...
- 前端构建工具与应用程序测试
1.前端构建工具 什么是前端构建? 什么是构建工具? 自动构建工具 Npm Scripts(推荐) Npm Scripts(NPM脚本)是一个任务执行者.NPM是安装Node时附带的一个包管理器,Np ...
- 嵌入式作业使用MDK编译stm32简单程序
目录 一.MDK和stm32介绍 1.什么是stm32 2.什么是MDK 二.环境配置 1.准备工作 2.安装keil软件 3.keil的环境设置 三.stm32程序编译 1.新建工程 2.新建mai ...
- Web应用程序测试工具Top20
Web应用程序测试工具可提高可靠性,缩短周转时间并提高ROI. 它们是各种类型的工具,可以协助从需求捕获到测试管理等各种Web测试活动.以下是包含主要功能和下载链接的顶级Web测试工具的精选列表. 下 ...
- H5和微信小程序测试区别
01 什么是H5? H5,也就是"HTML5",指"HTML"的第5个版本.众所周知"HTML"是"超文本标记语言",是 ...
- python写软件实例-30分钟学会用Python编写简单程序
原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...
最新文章
- 如何优雅的编写 JavaScript 代码
- Docker Review - docker 容器 常用命令
- 为何LPWA对物联网是颠覆性的新网络?
- 原创:机器学习代码练习(一、回归)
- 网易2017校招编程:优雅的点
- POJ1269(判断线段相交)
- 基于JAVA+SpringBoot+Mybatis+MYSQL的后台医疗管理系统
- 【前端】ACE Editor(代码编辑器) 简易使用示例
- HDU - 5950 Recursive sequence(矩阵快速幂)
- Android JNI 本地开发接口
- 3dmax2014 uv用法_3dmax中UV贴图的使用方法
- 如何设置或更改代理?这些方法你知道吗?
- fastcgi php 进程用户 lighttpd,说说lighttpd的fastcgi
- JS怎么唤醒高德导航
- SCI写作之-结构和写作顺序
- ubuntu20 下从linux 5.14.0-1045 源码编译 linux-5.15.56 内核
- c语言怎么判断一个目录下面的文件是否为隐藏文件,怎么能显示出隐藏文件?...
- ps中怎么导出tif_用Photoshop自动切割大型TIFF文件并将切片保存到TIFF文件中?
- Lotus Notes中文档查询(转)
- Microsoft Windows Server 2008 Standard Edition激活码申请方法