github项目地址:https://github.com/18093258022/Calculate.git
一.需求分析
- 为了让小学生得到充分锻炼,每个练习题至少要包含2种运算符。同时,由于小学生没有分数与负数的概念,你所出的练习题在运算过程中不得出现负数与非整数,比如不能出 3/5+2=2.6,2-5+10=7等算式。
- 练习题生成好后,将你的学号
- 当程序接收的参数为4时,以下为输出文件示例。
二.功能设计
- 实现生成n个可以加减乘除四则运算的式子并能输出正确结果
- 式子中的每一个值都在0~100之间
- 式子的结果不为负,且除法不会出现非整数
- 小学生没有分数与负数的概念,所出的练习题在运算过程中不得出现负数与非整数,比如不能出 3/5+2=2.6,2-5+10=7等算式。
- 练习题生成好后,将学号
三.设计实现
此题目为随机产生四则运算,首先要产生随机数,故用random()产生两个两位的随机整数,然后用Switch语句分别实现加减乘除,随机产生0,1,2,3,分别代表加减乘除,考虑到小学生没有负数的概念,所以在进行减法时,假如出现被减数大于减数,则将两数交换,在进行减法;考虑到除数不能为0,则在产生一个随机数,利用while循环,在每个运算符中用if-else语句分了几种情况。
四.测试运行
五.核心代码
for(int n=0;n<r;n++)
{
a=lianxi.f();
b=lianxi.f();
int i=(int)(Math.random()*100);
int j=(int)(Math.random()*100);
switch((int)(Math.random()*4))
{
case 0:
k=(int)(Math.random()*3);
if(k==0)
System.out.println(i+"+"+j+"=");
else if(k==1)
System.out.println(a+"+"+j+"=");
else if(k==2)
System.out.println(b+"+"+a+"=");
break;
case 1:
k=(int)(Math.random()*3);
if(i<j)
{
int temp=i;
i=j;
j=temp;
}
if(k==0)
System.out.println(i+"-"+j+"=");
else if(k==1)
System.out.println(j+"-"+a+"=");
else if(k==2)
System.out.println(b+"-"+a+"=");
break;
case 2:
k=(int)(Math.random()*3);
if(k==0)
System.out.println(i+"*"+j+"=");
else if(k==1)
System.out.println(a+"*"+j+"=");
else if(k==2)
System.out.println(b+"*"+a+"=");
break;
case 3:
while(j==0)
j= (int)(Math.random()*100);
System.out.println(i+"/"+j+"=");
break;
六.总结
由于对java语言不熟练,导致写程序时花费了大量时间,而且在写代码之前,对需求分析不足,导致只能实现两个运算数的四则运算。由于时间和能力有限,所以仅完成了部分功能,没有将运行结果输出到文本文档中。
七.psp
PSP2.1 |
任务内容 |
计划完成需要的时间(min) |
实际完成需要的时间(min) |
Planning |
计划 |
10 |
30 |
Estimate |
估计这个任务需要多少时间,并规划大致工作步骤 |
15 |
30 |
Development |
开发 |
200 |
300 |
Analysis |
需求分析 (包括学习新技术) |
25 |
30 |
Design Spec |
生成设计文档 |
10 |
10 |
Design Review |
设计复审 (和同事审核设计文档) |
15 |
10 |
Coding Standard |
代码规范 (为目前的开发制定合适的规范) |
5 |
5 |
Design |
具体设计 |
30 |
30 |
Coding |
具体编码 |
120 |
200 |
Code Review |
代码复审 |
10 |
10 |
est |
测试(自我测试,修改代码,提交修改) |
15 |
25 |
Reporting |
报告 |
35 |
40 |
Test Report |
测试报告 |
25 |
35 |
Size Measurement |
计算工作量 |
3 |
3 |
Postmortem & Process Improvement Plan |
事后总结 ,并提出过程改进计划 |
5 |
10 |