代码改变世界

个人项目-小学四则运算 “软件”之初版

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