个人项目-小学四则运算 “软件”之初版
2018-10-15 10:24 CMis180kg 阅读(254) 评论(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 |