个人项目-小学四则运算 “软件”之初版
2018-10-15 10:24 CMis180kg 阅读(260) 评论(1) 收藏 举报
作业要求来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2186
github地址:https://github.com/cmkg/cm/tree/master/yunsuan
一、题目要求
像《构建之法》的人物阿超那样,写一个能自动生成小学四则运算题目的命令行 “软件”。具体要求:任何编程语言都可以,命令行程序接受一个数字输入,然后输出相应数目的四则运算题目和答案。例如输入数字是 30, 那就输出 30 道题目和答案。 运算式子必须至少有两个运算符,运算数字是在 100 之内的正整数,答案不能是负数。 如:23 - 3 * 4 = 11
扩展要求:
1) 要求能出和真分数 (二分之一, 十二分之五,等)相关的练习题。
2) 并且要求能处理用户的输入,并判断对错,打分统计。 要求能处理用户输入的真分数, 如 1/2, 5/12 等。
二、设计思路
编程语言:Java
工具:IntelliJ IDEA 2018.2.2
设计思路:主函数让用户输入要练习的题目数量;而后随机产生随机数和随即运算符并产生运算式;判别用户输入的结果是否与正确答案一致,提示输入值是否正确,答题继续。答题完毕后,统计错对情况给出判别数据。
类、函数:Scanner类、main()函数、Operator()函数、random()函数等。
三、部分主要代码
public static void main(String[] args) { double right = 0; double wrong = 0; /*Scanner sc2 = new Scanner(System.in); int num2 = sc2.nextInt();*/ for (int i = 0; i < 30; i++) { System.out.println("第"+(i+1)+"题,请在下方输入答案:"); //生成三个随机数 Random r1 = new Random(); int x = r1.nextInt(100)+1; Random r2 = new Random(); int y = r2.nextInt(100)+1; Random r3 = new Random(); int z = r3.nextInt(100)+1; //生成随机运算符 + - * / Random r4 = new Random(); int h = r4.nextInt(4); char[] chs = {'+','-','*','/'}; String Operator = String.valueOf(chs[h]);
四、运算结果

五、遇到的问题
主要问题两个以上的运算符的随机生成,答题情况的统计结果。网上查方法解决。
六、个人软件过程耗时估计与统计表
| PSP2.1 | Personal Software Process Stages | Time Senior Student | Time | 
| Planning | 计划 | 5 | 4 | 
| Estimate | 估计这个任务需要多少时间 | 10 | 12 | 
| Development | 开发 | 25 | 30 | 
| Analysis | 需求分析 (包括学习新技术) | 2 | 1.5 | 
| Design Spec | 生成设计文档 | 4 | 5 | 
| Design Review | 设计复审 | 3 | 3 | 
| Coding Standard | 代码规范 | 1 | 1 | 
| Design | 具体设计 | 10 | 12 | 
| Coding | 具体编码 | 10 | 12 | 
| Code Review | 代码复审 | 2 | 2 | 
| Test | 测试(自我测试,修改代码,提交修改) | 1 | 1 | 
| Reporting | 报告 | 3 | 3 | 
| 测试报告 | 1 | 1 | |
| 计算工作量 | 2 | 3 | |
| 并提出过程改进计划 | 1 | 1 | 
                    
                
                
            
        
浙公网安备 33010602011771号