我提交的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 的使用相关推荐

  1. 一个简单的pingpong程序测试mpi消息通讯的开销及并行计算通讯启动时间测算

    一个简单的pingpong程序测试mpi消息通讯的开销及并行计算通讯启动时间测算 一个简单的pingpong程序测试mpi消息通讯的开销 随着科技的进步,集群单节点计算能力的提高,似乎通讯开销成了并行 ...

  2. 基于 github issues 实现第三方评论系统

    本文只是介绍如何基于 github issues 实现第三方评论系统,对于 Hexo 介绍,本文并不打算详述,如果有童鞋之前还没有了解 Hexo 的,可以先看一下之前文章<静态博客框架 Hexo ...

  3. python编写程序-30分钟学会用Python编写简单程序

    参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方式修改它们. 了解构成有效Python标识符和表 ...

  4. python程序-30分钟学会用Python编写简单程序

    原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...

  5. 前端构建工具与应用程序测试

    1.前端构建工具 什么是前端构建? 什么是构建工具? 自动构建工具 Npm Scripts(推荐) Npm Scripts(NPM脚本)是一个任务执行者.NPM是安装Node时附带的一个包管理器,Np ...

  6. 嵌入式作业使用MDK编译stm32简单程序

    目录 一.MDK和stm32介绍 1.什么是stm32 2.什么是MDK 二.环境配置 1.准备工作 2.安装keil软件 3.keil的环境设置 三.stm32程序编译 1.新建工程 2.新建mai ...

  7. Web应用程序测试工具Top20

    Web应用程序测试工具可提高可靠性,缩短周转时间并提高ROI. 它们是各种类型的工具,可以协助从需求捕获到测试管理等各种Web测试活动.以下是包含主要功能和下载链接的顶级Web测试工具的精选列表. 下 ...

  8. H5和微信小程序测试区别

    01 什么是H5? H5,也就是"HTML5",指"HTML"的第5个版本.众所周知"HTML"是"超文本标记语言",是 ...

  9. python写软件实例-30分钟学会用Python编写简单程序

    原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...

最新文章

  1. 如何优雅的编写 JavaScript 代码
  2. Docker Review - docker 容器 常用命令
  3. 为何LPWA对物联网是颠覆性的新网络?
  4. 原创:机器学习代码练习(一、回归)
  5. 网易2017校招编程:优雅的点
  6. POJ1269(判断线段相交)
  7. 基于JAVA+SpringBoot+Mybatis+MYSQL的后台医疗管理系统
  8. 【前端】ACE Editor(代码编辑器) 简易使用示例
  9. HDU - 5950 Recursive sequence(矩阵快速幂)
  10. Android JNI 本地开发接口
  11. 3dmax2014 uv用法_3dmax中UV贴图的使用方法
  12. 如何设置或更改代理?这些方法你知道吗?
  13. fastcgi php 进程用户 lighttpd,说说lighttpd的fastcgi
  14. JS怎么唤醒高德导航
  15. SCI写作之-结构和写作顺序
  16. ubuntu20 下从linux 5.14.0-1045 源码编译 linux-5.15.56 内核
  17. c语言怎么判断一个目录下面的文件是否为隐藏文件,怎么能显示出隐藏文件?...
  18. ps中怎么导出tif_用Photoshop自动切割大型TIFF文件并将切片保存到TIFF文件中?
  19. Lotus Notes中文档查询(转)
  20. Microsoft Windows Server 2008 Standard Edition激活码申请方法

热门文章

  1. 通过机器学习识别“迪士尼在逃公主”,程序员宠女的正确打开方式!
  2. IntelliJ IDEA入门教程之一
  3. mqtt js 中乱码_Vue.js 中的 v-cloak 指令——Vue学习之路
  4. 直方图均衡算法及结合自动色阶的改进
  5. 频率概率与贝叶斯概率
  6. kafka集群编程指南
  7. Gora官方文档之二:Gora对Map-Reduce的支持
  8. Spark Shuffle Write阶段磁盘文件分析
  9. Scala入门到精通——第二十四节 高级类型 (三)
  10. Kafka Consumer多线程消费