PSP四则运算

题目描述:参与运算的数字是随机生成的100以内的整数,运算的类型如:加减乘除都是随机生成的,利用随机数
默认:0代表加运算,1是减运算,2是乘运算,3是除运算

实现代码:

import java.util.Scanner;
public class Sizeyunsuan {
    static Scanner scanner = new Scanner(System.in);
    public static void main(String[] args) {
        int n = 0;
        int a, b;
        int sum = 0;
        System.out.println("输入要做的题目的数量:");
        n = scanner.nextInt();
        int[] op = new int[n];
        int[] s = new int[n];
        int[] result = new int[n];
        String[] questions = new String[n];
        for (int i = 0; i < n; i++) {
            op[i] = (int) (Math.random() * 4); // 运算符
            a = (int) (Math.random() * 89) + 10; // 数a
            b = (int) (Math.random() * 89) + 10; // 数b
            System.out.println(a + getOp(op[i]) + b + "=?");
            System.out.println("输入答案:");
            s[i] = scanner.nextInt(); // 输入的答案
            result[i] = jisuan(a, b, op[i]); // 正确答案
            if (s[i] == result[i]) {
                sum++;
            }
            questions[i] = a + getOp(op[i]) + b + "=" + result[i];
        }
        // 最后的输出
        System.out.println("你答对了" + sum + "道题,答错了" + (n - sum) + "道题");
        for (int i = 0; i < n; i++) {
            System.out.print(questions[i]);
            if (s[i] == result[i]) {
                System.out.println(",你的回答是" + s[i] + ",正确");
            } else {
                System.out.println(",你的回答是" + s[i] + ",错误");
            }
        }
    }

    // 获取运算符
    private static String getOp(int index) {
        String string = "";
        switch (index) {
        case 0:
            string = "+";
            break;
        case 1:
            string = "-";
            break;
        case 2:
            string = "*";
            break;
        case 3:
            string = "/";
            break;
        }
        return string;
    }

    // 计算答案
    private static int jisuan(int a, int b, int index) {
        int sum = 0;
        switch (index) {
        case 0:
            sum = a + b;
            break;
        case 1:
            sum = a - b;
            break;
        case 2:
            sum = a * b;
            break;
        case 3:
            sum = a / b;
            break;
        }
        return sum;
    }
}

结果:

 

 

 总结:

本次实验我的实现过程很简单,而且有很大的局限性,只能生成含有两个运算符的四则运算练习题。

PSP

任务内容

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

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

Planning

计划

10

12 

Estimite

估计任务所需时间,并规划大致工作步骤

10 

15 

Development

开发

100 

120 

Analysis

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

Design Spec 

生成设计文档 

6

Design Review 

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

6

Coding Standard 

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

Design 

具体设计 

12 

14 

Coding 

具体编码 

40 

46 

Code Review 

代码复审 

12 

15 

Test 

测试(自我测试,修改代码,提交修改) 

15 

12 

Reporting 

报告 

12 

10 

Test Report 

测试报告 

Size Measurement

计算工作量

3

Postmortem & Process Improvement Plan 

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

posted @ 2021-09-29 00:01  软锰矿  阅读(65)  评论(0编辑  收藏  举报