2016012004小学四则运算软件练习报告

codiing.net地址:https://git.coding.net/weiwandaixuyun/sizeyunsuan.git

由于java基础过差,以目前水平不能做出要求的四则运算,故有在网上查找些代码并进行部分修改,望谅解。

1:需求分析

  1. 程序可接收一个输入参数n,然后随机产生n道加减乘除(分别使用符号+-*÷来表示)练习题
  2. 每个数字在 0 - 100 之间,运算符在3个到5个之间
  3. 每个练习题至少要包含2种运算符
  4. 因为对象是面向小学生,故不能出现负数和分数。

2:功能设计:

输入一个n,然后随机产生n个四则运算小学题目

么有拓展功能

3:核心代码:

public static void main(String[] args) {
        operation();
    }
    public static void operation() {
        Random random = new Random();
        for (int parameter = 1; parameter <= 300; parameter++) {
            // 循环300次
            int algorithm = random.nextInt(4);
            // 通过随机数获取运算法则 + - * ÷
            int num1 = random.nextInt(100);
            int num2 = random.nextInt(100);
            // 获取两个一百以内的随机数
            switch (algorithm) {
            case 0:
                // algorithm为0时为加法运算
                System.out.println("第" + parameter + "个:");
                // 输出序号
                System.out.println(num1 + "+" + num2 + "=" + (num1 + num2));
                break;
            case 1:
                // algorithm为1时为减法运算
                System.out.println("第" + parameter + "个:");
                System.out.println(num1 + "-" + num2 + "=" + (num1 - num2));
                break;
            case 2:
                // algorithm为2时为乘法运算
                System.out.println("第" + parameter + "个:");
                System.out.println(num1 + "*" + num2 + "=" + (num1 * num2));
                break;
            case 3:
                // algorithm为3时为除法运算
                if (num2 == 0) {
                    // 当被除数为0时,算式不成立,循环参数自减
                    parameter--;
                    break;
                } else {
                    // 除得尽的不保留小数
                    if (num1 % num2 == 0) {
                        System.out.println("第" + parameter + "个:");
                        System.out.println(num1 + "/" + num2 + "=" + (num1 / num2));
                    } else {
                        // 除不尽的保留三位小数
                        System.out.println("第" + parameter + "个:");
                        double num = (double) num1 / num2;
                        String ss = new DecimalFormat("0.000").format(num);
                        // 格式化
                        System.out.println(num1 + "/" + num2 + "=" + ss);
                    }
                }
                break;
            default:
                break;

4:测试运行:目前未能测试成功。

5:总结:

目前代码能力是真的很弱,当第一次软导课听到这个题目,就一点思路都没有。后来然后又有博客园上的作业,更是头疼,也就只能慢慢的摸索,在网上也看了很多,也是到了最后交作业的时间,被迫只能交了作业,接下来会继续学习,完成修补。

6:PSP:

PSP2.1

任务内容

计划共完成需要的时间(min)

实际完成需要的时间(min)

Planning

计划

8

10

·        Estimate

·   估计这个任务需要多少时间,并规划大致工作步骤

8

5

Development

开发《网上借鉴源代码》

60

60

·        Analysis

·         需求分析 (包括学习新技术)

6

10

·        Design Spec

·         生成设计文档

5

6

·        Design Review

·         设计复审 (和同事审核设计文档)

4

6

·        Coding Standard

·         代码规范 (为目前的开发制定合适的规范)

3

3

     

·        Coding

·         具体编码

36

21

·        Code Review

·         代码复审

7

9

     

Reporting

报告

9

6

     

·         Postmortem & Process Improvement Plan

·         事后总结, 并提出过程改进计划

3

3

原文地址:https://www.cnblogs.com/weiwandaixuyun/p/8594783.html