201571030333 小学生四则运算软件的开发

GitHub仓库地址:https://github.com/zhanyulin/four-operation

①需求分析

客户需要的软件基本功能如下

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

软件附加功能要求如下:
  • 支持有括号的运算式,包括出题与求解正确答案。注意,算式中存在的括号必须大于2个,且不得超过运算符的个数。
  • 扩展程序功能支持真分数的出题与运算,例如:1/6 + 1/8 + 2/323/24。注意在实现本功能时,需支持运算时分数的自动化简,比如 1/2+1/6=2/3,而非4/6。

②功能设计

  输入一个数,能自动生成m个四则运算的式子

③设计实现

  改程序由Demo类实现,其中定义了四个字符a,b,c,d用来接收随机数,e,f,g,h用来接收0,1,2,3四个随机数,当随机数e,f,g,h的值为0,1,2,3时对应转化成+,-,*,/

但是在输出时出了问题导致进行不下去,恳求老师进行指导。

④测试运行

⑤核心代码

 1 package cn.itcast01;
 2 
 3 import java.util.Scanner;
 4 
 5 public class Demo {
 6 
 7     public Demo() {
 8         // TODO Auto-generated constructor stub
 9     }
10     static char h,i,j,k;
11     public static void main(String[] args) {
12         // TODO Auto-generated method stub
13         int a,b,c,d,e;
14         
15         a=(int) (Math.random()*100);
16         b=(int) (Math.random()*100);
17         c=(int) (Math.random()*100);
18         d=(int) (Math.random()*100);
19         e=(int) (Math.random()*4);
20         System.out.println(e);
21         if (e==0){
22             h='+';
23         }
24         else if (e==1){
25             i='-';
26         }
27         else if (e==2){
28             j='*';
29         }
30         else {
31             k='/';
32         }
33         System.out.println("请输入要生成式子的个数n:");
34         Scanner in = new Scanner(System.in);
35         int n=in.nextInt();
36     
37         for(int m=0;m<=n;m++){
38         String str=a+h+b+i+c+j+d+"="+a+h+b+i+c+j+d;
39         System.out.println(str);
40         }
41     }
42 
43     private static int random() {
44         // TODO Auto-generated method stub
45         return 0;
46     }
47    
48 }
https://github.com/zhanyulin/four-operation 

 

⑥总结

通过此次作业体现出的问题就在于本人动手能力太差,基本的语法都不是很熟悉,在以后的日子里一定要勤动手将以前落下来的给补上。

⑦展示PSP

PSP2.1

任务内容

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

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

Planning

计划

20

30

·       Estimate

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

600

540

Development

开发

300

420

··       Analysis

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

10

10

·       Design Spec

·  生成设计文档

10

15

·       Design Review

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

5

5

·       Coding Standard

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

5

5

·       Design

  具体设计

300

200

·       Coding

  具体编码

200

220

·       Code Review

·  代码复审

7

10

·       Test

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

10

20

Reporting

报告

10

10

··       Test Report

·  测试报告

3

5

·       Size Measurement

  计算工作量

2

5

·       Postmortem & Process Improvement Plan

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

3

10

 

posted on 2018-03-21 09:20  Mr·Graves 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/zhanyulin/p/8608920.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值