20165214 结队编程项目-四则运算(第二周)

20165214 第一次结队编程项目——四则运算第二周

需求分析

本周的结队编程想要实现一个四则运算系统,它可以自动生成n个计算题(本周不包括分数),其中n由我们输入。每输出一道题目,运行程序的人需要输入相应的答案,直到最后一道题做完。最后,统计正确率。然后,在这个基础上可以进行相应的功能扩展,比如语言支。

设计思路

我需要在上周的基础上对程序进行补充。在题目的生成上,应该再加上括号、÷、/

本周达成:

①能够随机生成n道题目,n由我们输入,最大长度可直接在程序里面修改;

②支持真分数运算;

③能够计算正确率并且按照百分比形式输出,取到小数点后一位。

④支持简体中文、繁体中文、英语;

⑤能够选择参与运算的数字的最大值;

下周的目标(扩展需求):

④能够查重到一定程度;

真分数(题目生成/题目运算判题)

运行截图:

码云链接

其中关键代码的解释我们注释在代码中,码云里有体现~

JUnit测试

为了实现JUnit测试,把原本程序的随机生成算式给改成手动输入算式判定结果

UML图

这次画UML图使用了

PSP

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 120 100
· Estimate · 估计这个任务需要多少时间 600 580
Development 开发 60 60
· Analysis · 需求分析 (包括学习新技术) 5 5
· Design Spec · 生成设计文档 30 30
· Design Review · 设计复审 (和同事审核设计文档) 30 40
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 30 60
· Design · 具体设计 30 35
· Coding · 具体编码 120 120
· Code Review · 代码复审 10 30
· Test · 测试(自我测试,修改代码,提交修改) 120 100
Reporting 报告 30 40
· Test Report · 测试报告 10 5
· Size Measurement · 计算工作量 20 10
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 20 10
合计 1235 1145

遇到的困难与解决方法

在编程时遇到的一些关于类的方法的问题我都用API解决了,这里总结一下其他的问题~

  • 问题一:在随机生成题目时,会出现单个数字字符但是有括号的现象,如"(1)",这时候我想用正则表达式,使用String类的repalceAll()方法来覆盖这种情况。但是,我发现要用正则表达式来匹配"([0-9]+)"老是失败,程序直接把引号里面的字符串作为匹配的对象,而没有发挥[]和+的作用。
  • 问题一解决方案:在不断地摸索之下,我忽然想到,会不会是因为在正则表达式内使用括号需要用转义符号来表示呢?于是我尝试着在括号的前面加上了\,如图:

然后发现成功了。

  • 问题二:问题二刚好就是我为什么要把除法也给归到第二周的分数的原因。设想一下,如果产生一个算式2%3+1(这里%是除号),那么得到的结果也是分数,即这个算式跟2/3+1是一样的。
  • 问题二解决方案:所以我把除法也给归到下一周的内容上去了。
  • 问题三:本周内容有一点不足就是没有加括号,加括号得考虑到很多因素(因为括号不能生成在算式两边,不能生成单边括号,还需要优先进行运算)
  • 问题三解决方案:我已经对于括号的应用有思路了,下周我会开始尝试,一定要尽力弄出括号。

点评伙伴

本周的合作是基于上周的基础上的。随着合作的次数增加,我和队友的配合也越来越好了,因此结队编程的效率有了不少提升,关键的一点是现在两个人如果意见上有什么不统一也比较敢于发表出来,这样很有利于我们的思考。

这次我的队友表现也很好~能和我共同学习一起进步~希望今后能够一直合作下去。

结队编程照片:

原文地址:https://www.cnblogs.com/zhuwenyuan/p/8909465.html

时间: 2024-08-14 00:28:48

20165214 结队编程项目-四则运算(第二周)的相关文章

20175314 结队编程项目——四则运算第二周

20175314 结队编程项目--四则运算第二周 一.需求分析 实现一个命令行程序,要求: 自动生成小学四则运算题目(加.减.乘.除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 统计正确率 能生成随机数 产生的算式要有括号 要建立堆栈,进行中缀转后缀,以及后续后缀的运算 能输入想要产生的题目数 能输入用户计算的答案 能够比较用户输入的答案是否正确 能够统计用户答题的正确率 二.设计思路 生成一个有加减乘除支持括号的算式,以字符串的形式输出,每个操作数或操作符中间都用

20172327 结对编程项目-四则运算 第二周 阶段总结

20172327 结对编程项目-四则运算 第二周 阶段总结 结对编程项目-四则运算 第二周 输出阶段总结博客 结对对象: 学号:20172317 姓名:蒋子行 伙伴第二周博客地址: 学号:20172320 姓名:李闻洲 伙伴第二周博客地址: 担任角色: 驾驶员:蒋子行 副驾驶:李闻洲 马瑞蕃 小组结对编程的photo: 项目中自己负责的部分: 我在项目中真的没啥贡献,项目主要由祥哥主刀,我和李闻洲就是打杂的. 个人贡献度划分: 我在项目中真的没啥贡献,项目主要由祥哥主刀,我就是打杂的,提点建议和

20175311胡济栋 2018-2019-2《Java程序设计》结对编程项目-四则运算 第二周 阶段性总结

20175311胡济栋 2018-2019-2<Java程序设计>结对编程项目-四则运算 第二周 阶段性总结 需求分析 这是利用栈来设计一个计算器的第二阶段总结. 自动生成四则运算的题目(加.减.乘.除) 需要实现计算结果的输出 将正确的计算结果与用户输入的计算结果进行比较得出最终的正确率 之前编写的程序还有很多问题,这周主要对这些问题进行改进和升级,我们成功实现了这些功能. 设计思路 1. 首先我们需要编写随机生成数字和随机生成符号的代码,把他们编写好后保存 2. 我们需要利用之前编写好的随

20175126Apollo 20175126《Java程序设计》结队编程项目——四则运算 第一周阶段总结

结队编程项目——四则运算 一.项目需求 自动生成小学四则运算题目(加.减.乘.除)统计正确率 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 需求分析: 生成四则运算:需要使用随机数生成,需要创造一个能实现计算功能的类. 支持多运算符:运算符也需要利用随机生成,并且不限个数. 支持真分数:需要用到生成分子.分母的函数,将分数化简等. 统计正确率:需要设置一个计算变量,并需要用一个判断正确的函数. 二.设计思路 首先根据需求分析,进行大体的设计: 生成题目→输入答案→判断正

20165202 结对编程项目-四则运算 第二周

一.码云链接 二.需求分析 实现一个命令行程序,要求: 自动生成小学四则运算题目(加.减.乘.除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 统计正确率 三.设计思路(同时输出UML类图) 这周的总体设计要在上周的基础上深化,上周我们的代码没有用到中缀表达式转后缀表达式,没有用到栈,所以这周不仅要对上一周的代码进行修改,而且还要在此基础上完成更深层的对真分数的要求. 实现四则运算中后缀转换类 实现四则运算后缀表达式计算类 实现四则运算真分数计算类 实现四则运算生成题

20165330 结对编程项目-四则运算 第二周

需求分析 实现一个命令行程序,要求:自动生成小学四则运算题目(加.减.乘.除) 可实现多个运算符一起运算 可以真分数形式输出结果 测试结果的正确性 统计题目完成数并计算正确率 设计思路 实验首先是完成一个计算器的功能,可以实现简单的+.-.*./运算,在这里设计一个主类生成随机数,生成题目,并判断正确率 实现多运算符,编入四个类分别实现整数运算.真分数运算.判断结果正确并计算正确率 利用JUnit检测非法输入 设计测试类,利用JUnit测试整数类与分数类的四则运算 UML类图 功能截图 Juni

20165227 结对编程项目-四则运算 第一周

20165227 结对编程项目-四则运算 第一周 需求分析 自动生成小学四则运算题目(加.减.乘.除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 统计题目完成数并计算正确率 设计思路 设计一个计算器能够实现简单的+.-.*./运算 通过编程实现多运算符计算.整数运算.真分数运算.判断结果等 进行junit检测 设计一个程序主类,达到生成随机数.题目.并判断正误 测试 UML类图 功能截图 结对感受 因为同为室友,所以结对起来更轻松方便,讨论的时间也更加地充足,对于队

20175212童皓桢 结对编程项目-四则运算 第一周

20175212童皓桢 结对编程项目-四则运算 第一周 需求分析 实现一个命令行程序,要求自动生成小学四则运算题目(加减乘除) 支持多运算符 测试结果的正确性,用户输入错误时给出正解 统计题目正确率 设计思路 首先要能够按照按人的一般习惯,生成自左向右计算的加减乘除算式. 随机生成多运算符,并随机生成相对应个数的整数 利用eval方法直接计算随机生成的算式的值,并和用户的输入作比较 判断正确率 设计测试类,利用JUnit测试整数的四则运算 UML类图 关键代码 如何生成符合要求格式的运算式 fo

20175209王梓鸿 结对编程项目—四则运算 第一周 阶段总结

20175209王梓鸿 结对编程项目-四则运算 第一周 阶段总结 一.需求分析 1.题目要求: 实现一个命令行程序,要求: 自动生成小学四则运算题目(加.减.乘.除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 统计正确率 扩展需求 文件 处理生成题目并输出到文件 完成题目后从文件读入并判题 多语言支持简体中文,繁體中文,English 生成题目去重 二.设计思路 1.编写背景及完成情况 在开始写设计思路之前,我觉得应该说一下我们编写的情况(可能有些跑题).这次结对的