201571030308 小学生四则运算练习小程序

Github源码地址连接:https://github.com/ijinping/SIZEYUNSUANgit

一.项目要求:github

   尝试按照《构建之法》第2章中2.3所述PSP流程,使用JAVA编程语言,独立完成一个包含3到5个数字的四则运算练习的命令行软件开发。编程

二.需求分析dom

  • 程序可接收一个输入参数n,而后随机产生n道加减乘除练习题,每一个数字在 0 和 100 之间,运算符在3个到5个之间。
  • 为了让小学生获得充分锻炼,每一个练习题至少要包含2种运算符。同时,因为小学生没有分数与负数的概念,你所出的练习题在运算过程当中不得出现负数与非整数,好比不能出 3/5+2=2.6,2-5+10=7等算式。
  • 练习题生成好后,将你的学号与生成的n道练习题及其对应的正确答案输出到文件“result.txt”中,不要输出额外信息,文件目录与程序目录一致。当程序接收的参数为4时,如下为输出文件示例。

201571030107编程语言

(78*23)-(6*91) = 1248学习

(3+36)*(34-21) = 507测试

(15*81)*(14+87) = 122715编码

(95-4)+(37-30) = 98spa

支持有括号的运算式,包括出题与求解正确答案。注意,算式中存在的括号必须大于2个,且不得超过运算符的个数。命令行

三.功能设计

  1. 程序可接收一个输入参数n
  2. 能够随机产生n道四则运算练习题
  3. 生成的数字范围为0-100
  4. 要求至少包含2种运算符,即运算符个数为2个或两个以上,可知随机产生的数字至少有3个
  5. 不能出现负数与小数

四.设计实现


五.测试运行

 

 六.核心代码

public static void main(String[] args) { // TODO Auto-generated method stub
        int x = 0,y,i; String m="201571030308"; String a1; int d1=0; String d = null; System.out.println("输入学号开始"); Scanner scan1=new Scanner(System.in); a1=scan1.next(); if(a1.equals(m)){ System.out.println("请输入题目的数量"); Scanner scan2=new Scanner(System.in); x=scan2.nextInt(); int daan[]=new int [x]; System.out.println("请输入数值的范围"); y=scan2.nextInt(); for(i=0;i<x;i++){ int a=(int)(Math.random()*y);//随机生成一个1-10的整数
            int b=(int)(Math.random()*y);//随机生成一个1-10的整数
            int  n=(int)(Math.random()*30)*2;//随机生成一个1-60的偶数
            int c=(int)(Math.random()*4);

 

 

System.out.println("是否显示答案(显示请输入1)"); if(scan2.nextInt()==1){ for(i=0;i<x;i++){ System.out.print(daan[i]+"     "); } } } System.out.println("是否显示答案(显示请输入1)"); if(scan1.nextInt()==1){ for(i=0;i<x;i++){ System.out.print(args[i]+"     "); } } }

 

七.总结 

       在设计较这个程序的时候,我采用了自顶向下的方法,将这个问题划分为几三个部分,第一部分是程序随机生成的题数,第二部分是具体生成的题的“样式”,第三部分是设计计算生成随机题的答案。每一部分又再细化分解,直到分解为较好解决问题为止。 

       第一次如此认真的查找信息,寻找资料的来完成这个程序,虽然很辛苦,但收获颇多

八.展现PSP

PSP2.1

任务内容

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

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

Planning

计划

20

30

·       Estimate

·  估计这个任务须要多少时间,并规划大体工做步骤

20

30

Development

开发

240

270

··       Analysis

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

30

40

·       Design Spec

·  生成设计文档

20

20

·       Design Review

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

10

15

·       Coding Standard

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

30

40

·       Design

  具体设计

10

12

·       Coding

  具体编码

36

90

·       Code Review

·  代码复审

7

9

·       Test

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

13

21

Reporting

报告

55

50

··       Test Report

·  测试报告

15

10

·       Size Measurement

  计算工做量

15

20

·       Postmortem & Process Improvement Plan

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

15

  1. 20


 

---恢复内容结束---

相关文章
相关标签/搜索