一、需求分析
需要自动生成四则运算试题的程序,取值范围在100以内,操作数是否含负数,剔除重复算式,显示在txt文件中
二、功能设计
基本功能:自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内
扩展功能:1. 剔除重复算式。2 + 3 = 和 2 + 3 = 是重复算式 2 + 3 = 和 3 + 2 = 不属于重复算式
2. 题目数量可定制
3. 相关参数可控制
是否包含乘法和除法
操作数数值范围可控(如操作数 在100以内 还是1000以内)
操作数是否含负数
4. 生成的运算题存储到外部文件result.txt中
三、设计实现
设计一个res类,在res类里定义了operand1、operand2、choose来接收键盘输入的数字,来判断用户的要求;
当用户做出选择时,进入switch语句,来执行判断其他条件的分支,以此来完成程序的实现。
四、测试运行
五、代码片段
- 加减乘除
1 switch (random.nextInt(4)) { 2 case 0: 3 operate = ‘+‘; 4 result = operand1 + operand2; 5 break; 6 case 1: 7 operate = ‘-‘; 8 result = operand1 - operand2; 9 break; 10 case 2: 11 operate = ‘ב; 12 result = operand1 * operand2; 13 break; 14 case 3: 15 operate = ‘÷‘; 16 result = (double) operand1 / (double) operand2; 17 break; 18 }
2.判断是否随机出带负数的算术题
1 else if (choose2 == 1) { 2 3 label:for (int i1 = 0; i1 < number; i1++) { 4 operand1 = (int) (Math.random() * num + 1); 5 operand2 = (int) (Math.random() * num + 1); 6 operand3 = (int) (Math.random() * (num + 1) * (-1)); 7 operand4 = (int) (Math.random() * (num + 1) * (-1)); 8 array1[i1] = operand1; 9 array2[i1] = operand2;
六、总结
刚接触题目的时候不知怎么用java实现,查阅资料和同学探讨研究后,
觉得慢慢的先把基本的框架搭建出来,把基本的变量都设置出来并赋值,实现最基本功能;
我的基础不扎实,在编写代码过程中花费了大量时间,但也无法实现更多的功能,运行测试有时候出错误,也找了修改方法,以后会好好学习专业技能。
七、PSP
PSP | 任务内容 | 计划共需要多久(min) | 实际多久(min) |
Planning | 计划 | 20 | 10 |
Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 40 | 40 |
Development | 开发 | 100 | 150 |
Analysis | 需求分析 | 10 | 10 |
Design Spec | 生产设计文档 | 10 | 10 |
Design Review | 设计复审 | 10 | 10 |
Coding Standard | 代码规范 | 25 | 25 |
Design | 具体设计 | 35 | 50 |
Coding | 具体编码 | 100 | 150 |
Code Review | 代码复审 | 20 | 35 |
Test | 测试 | 20 | 35 |
Reporting | 报告 | 40 | 30 |
Text Report | 测试报告 | 10 | 15 |
Size Measurement | 计算工作量 | 8 | 10 |
Postmortem&Process Improvement Plan |
事后总结 ,并提出过程改进计划 | 5 | 5 |
原文地址:https://www.cnblogs.com/kuailehuan/p/11524977.html
时间: 2024-11-05 22:20:19