20165223 结对编程之四则运算week1-阶段性总结
目录
一、结对对象
- 担任角色
- 驾驶员(Driver):20165223 蔡霓(是控制键盘输入的人)
- 领航员(Navigator):20165218 赵冰雨(起到领航、提醒的作用)
- 搭档本次结对博客:20165218
- 本次结对码云链接:四则运算
二、需求分析
- 题目内容
实现一个命令行程序,要求:
自动生成小学四则运算题目(加、减、乘、除)
支持整数
支持多运算符(比如生成包含100个运算符的题目)
支持真分数
统计正确率
- 扩展需求
文件:
- 处理生成题目并输出到文件
- 完成题目后从文件读入并判题
- 多语言支持:简体中文, 繁體中文, English
生成题目去重
程序一次运行生成的题目不能重复,即任何两道题目不能通过有限次交换+和×左右的算术表达式变换为同一道题目。例如,23 + 45 = 和45 + 23 = 是重复的题目,6 × 8 = 和8 × 6 = 也是重复的题目。3+(2+1)和1+2+3这两个题目是重复的,由于+是左结合的,1+2+3等价于(1+2)+3,也就是3+(1+2),也就是3+(2+1)。但是1+2+3和3+2+1是不重复的两道题,因为1+2+3等价于(1+2)+3,而3+2+1等价于(3+2)+1,它们之间不能通过有限次交换变成同一个题目。(引用自:http://www.cnblogs.com/jiel/p/4810756.html)
week1要求(本次结对要求)
- 需求分析
- 设计思路
- 支持整数
- JUnit测试
- 扩展需求(*选)
三、设计思路
- 使用switch语句完成
- 代码如下:码云地址
import java.util.Scanner;
import java.util.Random;
public class fourOperations
{
//选择所需要的四则运算
public static void main(String[] args)
{
int type;
int A, B, C;
String Exit = "n";
Scanner scanner = new Scanner(System.in);
while ( Exit.equalsIgnoreCase("n"))
{
System.out.println("==========整数的四则运算==========");
System.out.println("请选择要进行的四则运算");
System.out.print("1(+) 2(-) 3(×) 4(÷) : " );
type = scanner.nextInt();
//进行四则运算
switch (type)
{
case 1:
System.out.print("请输入两个整数:");
A = scanner.nextInt();
B = scanner.nextInt();
C = A + B;
System.out.println( A + " + " + B + " = " + C);
break;
case 2:
System.out.print("请输入两个整数:");
A = scanner.nextInt();
B = scanner.nextInt();
C = A - B;
System.out.println( A + " - " + B + " = " + C);
break;
case 3:
System.out.print("请输入两个整数:");
A = scanner.nextInt();
B = scanner.nextInt();
C = A * B;
System.out.println( A + " × " + B + " = " + C);
break;
case 4:
System.out.print("请输入两个整数:");
A = scanner.nextInt();
B = scanner.nextInt();
C = A / B;
System.out.println( A + " ÷ " + B + " = " + C);
break;
//default排错
default:
System.out.print("输入的运算代表数字错误!");
}
//优化设计
System.out.print("退出程序?(y/n): ");
Exit = scanner.nextLine();
Exit = scanner.nextLine();
}
}
}
四、功能截图
- 测试要求内容
- 正常测试(正常整数运算)
- 异常测试(未能实现的小数分数运算)
- 边界测试(临界点的测试,如0处的运算)
- 测试截图
【加法】



【减法】



【乘法】



【除法】



五、结对感受
两人搭配,干活不累。第一次尝试双人结对编写代码,分别担任不同角色的两人在编写代码的时候更轻松了,不会像之前那样“不撞南墙不回头”一个人闷声敲代码浪费宝贵时间。这次的编程中也出现了些问题,但在两个人的努力下都较圆满的解决了。事实上目前的代码也还不够完善,我也要更加努力,在代码的编写上更进一步,希望下一周的结对编程中能学到更多,掌握更多。
20165223 结对编程之四则运算week1-阶段性总结的更多相关文章
- 20165223 结对编程之四则运算week2-整体总结
目录 一.结对对象 二.需求分析 三.设计思路 四.核心代码 五.功能截图 六.结对感受 一.结对对象 担任角色(本周交换角色,流动学习) 驾驶员(Driver):20165218 赵冰雨(是控制键盘 ...
- 20175324王陈峤宇 2018-2019-2《Java程序设计》结对编程项目-四则运算 第一周 阶段性总结
20175324王陈峤宇 2018-2019-2<Java程序设计>结对编程项目-四则运算 第一周 阶段性总结 需求分析 这次的结对作业是要求我们利用栈来设计一个计算器. 自动生成四则运算 ...
- 20175229许钰玮 2018-2019-2《Java程序设计》结对编程项目-四则运算 第一周 阶段性总结
20175229许钰玮 2018-2019-2<Java程序设计>结对编程项目-四则运算 第一周 阶段性总结 需求分析 自动生成四则运算题目(加.减.乘.除). 既可以用前缀算法(波兰算法 ...
- 20175311胡济栋 2018-2019-2《Java程序设计》结对编程项目-四则运算 第二周 阶段性总结
20175311胡济栋 2018-2019-2<Java程序设计>结对编程项目-四则运算 第二周 阶段性总结 需求分析 这是利用栈来设计一个计算器的第二阶段总结. 自动生成四则运算的题目( ...
- 结对编程项目——四则运算vs版
结对编程项目--四则运算vs版 1)小伙伴信息: 学号:130201238 赵莹 博客地址:点我进入 小伙伴的博客 2)实现的功能: 实现带有用户界面的四则运算:将原只能在 ...
- 2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-最后阶段
2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-最后阶段 最后的一周,时间越来越紧张,因为之前的拖沓和一些事情的耽误,导致了如今的紧张,这一周应该是我们小组效率最高 ...
- 2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-准备阶段
2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-准备阶段 在一个人孤身奋斗了将近半个学期以后,终于迎来的我们的第一次团队协作共同编码,也就是,我们的第一个结对编程练 ...
- 2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-中坚阶段
2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-中坚阶段 如今的编写,进入了一段时间的中坚阶段,小伙伴的思路虽然很一致,但是总是存在着一定问题,这就造成了我们中坚阶 ...
- 结对编程1——四则运算-GUI
码市链接:https://coding.net/u/hmhhh/p/hmh-homework/git/tree/master/ 201421123003 黄建英 201421123004 黄美海 题目 ...
随机推荐
- 从零开始搭建VUE项目
前言: 此样板面向大型,严肃的项目,并假定您对Webpack和vue-loader有些熟悉. 请务必阅读vue-loader的常见工作流配方的文档. 如果您只想尝试vue-loader或者鞭打一个快速 ...
- IdentityServer4【QuickStart】之使用asp.net core Identity
使用asp.net core Identity IdentityServer灵活的设计中有一部分是可以将你的用户和他们的数据保存到数据库中的.如果你以一个新的用户数据库开始,那么,asp.net co ...
- 使用python库xlsxwriter库来输出各种xlsx文件
功能性的文章直接用几个最简单的实现表达: xlsxwriter库的核心就是其Workbook对象. 创建一个指定名字的xlsx文件: import xlsxwriter filename = '/Us ...
- ASP.NET4.0所有网页指令
ASP.NET网页指令(Page Directive)就是在网页开头的标签声明: <% Page Language="C#" %> 而指令的作用在于指定网页和用户控件编 ...
- 用python写一个预警机器人(支持微信和钉钉)
背景 线上的系统在运行中,发生故障时怎么及时的通过手机通知到相关人员?当然这是个很简单的需求,现有的方法有很多,例如: 如果我们用的云产品,那么一般都会有配套对应的监控预警功能,根据需要配置一下即可, ...
- edge
https://www.cnblogs.com/st-leslie/p/6784990.html
- Java连接RabbitMQ之创建连接
依赖包: <dependencies> <dependency> <groupId>junit</groupId> <artifactId> ...
- LODOP设置打印机不存在不打印
LODOP中打印机的选择有优先级的存在,如果程序中指定的是错误的打印机,那么会走下一个优先级,这样,就可能存在选择了打印机无效,从默认打印机打印出来了,可以在代码里加判断避免这一点. 打印机优先级简介 ...
- DotNetty 实现 Modbus TCP 系列 (四) Client & Server
本文已收录至:开源 DotNetty 实现的 Modbus TCP/IP 协议 Client public class ModbusClient { public string Ip { get; } ...
- Windows & RabbitMQ:安装
可以参考:在 Windows 上安装Rabbit MQ 指南 本文RabbitMQ版本为3.6.1 Step 1:安装Erlang Step 2:安装RabbitMQ Step 3:启用Managem ...