20194673+自动生成四则运算题第一版报告

1 需求分析

家长为了提高孩子的算数能力,需要每天给孩子出题,这就需要做出一个程序,每天生成一定数量且不重复的题目,分解家长们的压力。

2 功能设计

基本功能:

(1)自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内

(2)剔除重复算式。  2 + 3 =    和  2 + 3 =     是重复算式      2 + 3 =   和   3 + 2 =  不属于重复算式

(3)题目数量可定制

(4)相关参数可控制

          是否包含乘法和除法

          操作数数值范围可控(如操作数 在100以内   还是1000以内)

          操作数是否含负数    

  (5)生成的运算题存储到外部文件result.txt中

3 设计实现

   使用构造函数PrintStream Scanner ,PrintStream s = new PrintStream(“d:/result.txt”);

   System.setOut(s);调用此函数,可以将所有System.out.println();输出语句,打印到我们创建的文件夹中

   Scanner t=new Scanner(System.in); 控制我们从键盘输入

    Math.random();产生随机不重复函数

4 测试运行

20194673+自动生成四则运算题第一版报告_第1张图片

20194673+自动生成四则运算题第一版报告_第2张图片

 

 20194673+自动生成四则运算题第一版报告_第3张图片

5 代码片段

public class A {
public static void main(String[] args) throws FileNotFoundException {
PrintStream s = new PrintStream("d:/result.txt");
int c;
Scanner t=new Scanner(System.in);
System.out.print("请输入题目个数:");
int tm=t.nextInt();
//控制题目个数
System.out.print("请输入操作数的范围(如 100,1000等):");
int tf=t.nextInt();
//控制题目范围
System.out.println("请选择是否有负数:1:有 0:没有");
int zf=t.nextInt();
//控制正负数
System.out.println("请选择是否包含*或者/:2:否 4:是 ");
int fu=t.nextInt();
//控制符号
System.setOut(s);

  

 

 

 

if(zf==0) {//没有负数
                    System.out.print(a);
                    }
            
            if(fu==2) {//选择两个字符‘+’‘-’
                int k=(int)(Math.random()*2);
                switch(k) {//随机选择运算符
                case 0:System.out.print("+");
                       break;
                case 1:System.out.print("-");
                       break; 

6 总结

我的编程基础不太好,写的代码有一些只能实现基本的功能,没有什么拓展功能,希望在今后的学习中继续加强。在实现功能的过程中有一些困难,不过在这个过程中也学到了一些经验。

7 PSP

PSP2.1

任务内容

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

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

Planning

计划

10

20

·       Estimate

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

60

120

Development

开发

30

40

··       Analysis

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

60

60

·       Design Spec

·  生成设计文档

20

20

·       Design Review

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

20

20

·       Coding Standard

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

10

15

·       Design

  具体设计

10

10

·       Coding

  具体编码

50

60

·       Code Review

·  代码复审

10

10

·       Test

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

5

10

Reporting

报告

10

10

··       Test Report

·  测试报告

15

10

·       Size Measurement

  计算工作量

5

5

·       Postmortem & Process Improvement Plan

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

20

20

你可能感兴趣的:(20194673+自动生成四则运算题第一版报告)