GitHub代码地址:小学四则运算
1.需求分析
- 为了让小学生得到充分锻炼,每个练习题至少要包含2种运算符。同时,由于小学生没有分数与负数的概念,你所出的练习题在运算过程中不得出现负数与非整数,比如不能出 3/5+2=2.6,2-5+10=7等算式。
- 练习题生成好后,将你的学号
- 当程序接收的参数为4时,以下为输出文件示例。
2、功能设计
1 public GetRandomDigit(){ 2 random=new Random(); 3 } 4 5 //1~4随机数 6 int oprator(){ 7 return random.nextInt(4)+1; 8 } 9 10 //3~5的随机数 11 int Time(){ 12 return random.nextInt(3)+3; 13 } 14 15 //0~100 随机数 16 int randomDigit(){ 17 return random.nextInt(100); 18 } 19 20 //产生随机数,让其20概率 21 int probabilityQuestion(){ 22 return random.nextInt(200); 23 } 24 25 //产生括号的随机数 26 int BracketsIndex(int time){ 27 return random.nextInt(time-2); 28 }
(1)随机数的产生
产生1~4的随机数分别表示加,减,乘,除。
生成3-5的随机数顶式子的长度。
产生0-100的随机数表示,表示算式,产生0-200的随机数,去中间的90-110的范围内取括号,其中就有10%的概率会出现带有括号的题目。
(2) 键盘输入题目数量及学号
(3)对输入时候的操作做一些异常处理
(4)在运算过成功不得出现负数适当的出现带有括号的式子
(5)最后将运算表达式和计算结果写入result.txt文件,提示学生进行查询并复习。
3.设计实现
(1)接受参数及学号
(2)优先级算法
(3)输出
4.测试运行
5.代码目录结合及生成结果
6.展示PSP
PSP2.1 |
任务内容 |
计划完成需要的时间(min) |
实际完成需要的时间(min) |
Planning |
计划 |
10 |
6 |
· Estimate |
· 估计这个任务需要多少时间,并规划大致工作步骤 |
10 |
6 |
Development |
开发 |
129 |
171 |
·· Analysis |
需求分析 (包括学习新技术) |
10 |
10 |
· Design Spec |
· 生成设计文档 |
5 |
5 |
· Design Review |
· 设计复审 (和同事审核设计文档) |
5 |
5 |
· Coding Standard |
代码规范 (为目前的开发制定合适的规范) |
5 |
6 |
· Design |
具体设计 |
10 |
15 |
· Coding |
具体编码 |
80 |
120 |
· Code Review |
· 代码复审 |
8 |
6 |
· Test |
· 测试(自我测试,修改代码,提交修改) |
6 |
4 |
Reporting |
报告 |
8 |
6 |
·· Test Report |
· 测试报告 |
3 |
2 |
· Size Measurement |
计算工作量 |
2 |
1 |
· Postmortem & Process Improvement Plan |
· 事后总结 ,并提出过程改进计划 |
3 |
3 |