一.需求分析
(1)自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内
(2)剔除重复算式。 2 + 3 = 和 2 + 3 = 是重复算式 2 + 3 = 和 3 + 2 = 不属于重复算式
(3)题目数量可定制
(4)相关参数可控制
是否包含乘法和除法
操作数数值范围可控(如操作数 在100以内 还是1000以内)
操作数是否含负数
(5)生成的运算题存储到外部文件result.txt中
二.功能设计
基本功能:生成两个操作数的四则运算
扩展功能:用户可以自行设置操作数范围
用户可以自行设置题目个数
可以自行设置乘除和正负
三.设计实现
添加一个TT2类,编写了各种需要的变量,然后赋值,添加循环判断等,修改错误,保存运行,测试成功
四.运行测试
1.包含正负和加减的10道运算
2.包含正负和乘除加减的10道运算
3.包含负数的运算
五.代码片段
1.控制随机数生成
System.out.println("输入题的数目"); int shu = reader.nextInt(); System.out.println("输入两个操作数的范围100或1000"); int fan = reader.nextInt(); System.out.println("输入操作数是否含有负数,有负数输入1,没有负数输入0"); int fu = reader.nextInt(); // 生成两个100以内的随机数: int a = (int) (Math.random() * 100); int b = (int) (Math.random() * 100); // c为生成的运算符,输入1-4代表+-*/ int c = reader.nextInt(); c = (int) (Math.random() * 4); String t = "1"; switch (c) { case 1: t = "+"; break; case 2: t = "-"; break; case 3: t = "*"; break; case 4: t = "/"; break; } // int型字符转换成String String str1 = a + ""; String str2 = b + ""; // 生成算式 String d = str1 + t + str2; System.out.println(d);
2.储存在外部文件的
// 生成的运算题存储到外部文件result.txt中 PrintWriter over; try { over = new PrintWriter("E:/result.txt");// 路径和文件名 } catch (FileNotFoundException e) { throw new RuntimeException(e); }
六.总结
首先阅读需求分析,然后开始搭建框架,创建一个类,接下来先编写随机生成数的生成,连接成算式,再进行各种判断,循环,再改错运行。在编写代码过程中,有过一些不会的地方查阅了一些资料,然后出现错误的地方修改时浪费了一些时间。
七.PSP
PSP2.1 |
任务内容 |
计划共完成需要的时间(min) |
实际完成需要的时间(min) |
Planning |
计划 |
8 |
10 |
· Estimate |
· 估计这个任务需要多少时间,并规划大致工作步骤 |
15 |
20 |
Development |
开发 |
540 |
540 |
·· Analysis |
需求分析 (包括学习新技术) |
6 |
10 |
· Design Spec |
· 生成设计文档 |
5 |
10 |
· Design Review |
· 设计复审 (和同事审核设计文档) |
8 |
15 |
· Coding Standard |
代码规范 (为目前的开发制定合适的规范) |
3 |
8 |
· Design |
具体设计 |
18 |
30 |
· Coding |
具体编码 |
360 |
540 |
· Code Review |
· 代码复审 |
20 |
30 |
· Test |
· 测试(自我测试,修改代码,提交修改) |
30 |
60 |
Reporting |
报告 |
15 |
30 |
·· Test Report |
· 测试报告 |
3 |
8 |
· Size Measurement |
计算工作量 |
2 |
1 |
· Postmortem & Process Improvement Plan |
· 事后总结 ,并提出过程改进计划 |
3 |
15
|
原文:https://www.cnblogs.com/wanghainan/p/11523800.html