java四则运算生成器

时间:2021-09-11 15:38:00

题目描述:

从《构建之法》第一章的 “程序” 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 “软件”,满足以下需求:

除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24
运算符为 +, −, ×, ÷
并且要求能处理用户的输入,并判断对错,打分统计正确率。
要求能处理用户输入的真分数, 如 1/2, 5/12 等
使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目
Myapp.exe -n 10

需求分析

  • 1、支持整数、真分数的四则运算;
  • 2、判断用户的回答是否正确,并在最后显示正确率;
  • 3、能够使用参数控制生成题目的个数。

代码说明

提供判断该分数的可约分性质,并找出其最大公约数并进行约分。

if (k==0){
m1=m1/n1;
n1=1;
}
else {while(m1%k!=0||n1%k!=0){
o=k;
k=l%k;
l=o;
}//求出最大公约数
m1=m1/k;
n1=n1/k;
}

判断输入答案的正确与错误并对其计数。分数进行字符串比较而整数则用==来比较其正确性。

if(str.equals(sum))
{System.out.println("回答正确");
c++;
a++;
}
else
{System.out.println("回答错误");
System.out.println("正确答案是:"+sum);
c++;
b++;
}

执行结果

java四则运算生成器

PSP展示

PSP2.1 Personal Software Process Stages Time (%) Senior Student(/hour) Time (%)(/hour)
Planning 计划 2h 1.5h
Estimate 估计这个任务需要多少时间 35h 35h
Analysis 需求分析 (包括学习新技术) 1h 1.5h

Coding

Standard

代码规范 1.5h 1h
Design 具体设计 3h 3.5h
Coding 具体编码 20h 20h
Test 测试(自我测试,修改代码,提交修改) 2h 2h
Reporting

报告

2h 2h

代码链接:https://git.coding.net/li111222zxc/shiyan1.git

设计总结

本次编程的过程先是由了解获取提取数并进行判断开始,最先完成的是整数的四则运算,开始时只是固定数目的题目,接着设置可控的出题数,再来就是将题目设成case以便随机生成题型(本来是按照加减乘除顺序出题),然后完成分数的加减乘除并对其进行约分算法的设计与判断。