2016012097+小学四则运算练习软件项目报告

项目代码地址:https://git.coding.net/ranko/23333.git
1. 需求分析
面向小学生一个3到5个运算符的四则运算练习的命令行软件
随机产生n道加减乘除练习题,每个数字在 0 和 100 之间,运算符在3个到5个之间
每个练习题至少要包含2种运算符
在运算过程中不得出现负数与非整数
练习题生成好后,将学号与生成的n道练习题及其对应的正确答案输出到文件“result.txt”中,不输出额外信息,文件目录与程序目录一致。
2. 功能设计
基本功能:生成四则运算,并能够将题目输出到文件中,文件目录与程序目录一致。
扩展功能:支持有括号的运算式,包括出题与求解正确答案。
支持真分数的出题与运算,支持运算时分数的自动化简,计算过程中与结果都须为真分数。
3. 设计实现
只用了一个Main类,功能全由对Main类的方法的调用来实现实现
随机数与随机运算符生成,用Random函数实现
4. 算法详解
只用了很简单的判断语句,没有考虑括号的问题
看了大佬们使用逆波兰表达式,自己试了一下,扑街了,于是放弃了。
5. 测试运行

6. 代码片段

import java.util.Scanner;
import java.util.Random;
public class hhhh {
  public static void main(String[] args) {
      String[] operate=new String[]{"+","-","×","÷"};
      int[] numbers=new int[100];
      for(int i=1;i<=100;i++){
      numbers[i-1]=i;
    }
     Random r=new Random();
     Scanner in = new Scanner(System.in);
       // in.close();
     int x = 0;
     try {
          x = in.nextInt();
          //x = Integer.parseInt(args[0]);
          if (x < 0 || x > 1000) {
              System.out.println("请输入0-1000的整数");
              return;
            }
        } catch (Exception e) {
            // TODO: handle exception
            System.out.println("请输入0-1000的整数");
            return;
        }
        System.out.println("2016012097");
     for(int i=0;i<x;i++){
         System.out.println(numbers[r.nextInt(100)]+operate[r.nextInt(4)]+numbers[r.nextInt(100)]+operate[r.nextInt(4)]+numbers[r.nextInt(100)]+operate[r.nextInt(4)]+numbers[r.nextInt(100)]+"=");  
    }
   }
   }
 

 

7. 总结
先做的PSP再写的总结,也看了其他同学的PSP,个人用的时间确实是明显超长,而且这么长时间做出来的东西也并没有好用多少,但是也没办法,毕竟重新开始学,技术和脑子在那里,尽力了。
不过这个时长的作业真的让我感受到生活和心情受到了影响,不过那也是没办法的事,就这样吧,不想说话。
8. 展示PSP

PSP2.1

任务内容

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

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

Planning

计划

10

30

·        Estimate

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

10

30

Development

开发

1080

1625

·        Analysis

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

45

115

·        Design Spec

·         生成设计文档

0

0

·        Design Review

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

0

0

·        Coding Standard

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

0

0

·        Design

·         具体设计

120

180

·        Coding

·         具体编码

735

970

·        Code Review

·         代码复审

60

970

·        Test

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

120

150

Reporting

报告

95

135

·         Test Report

·         测试报告

5

10

·         Size Measurement

·         计算工作量

30

45

·         Postmortem & Process Improvement Plan

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

60

80



posted @ 2018-03-25 23:23  kisaragiayano  阅读(182)  评论(1编辑  收藏  举报