java四则运算

题目描述:

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

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

需求分析

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

 

代码说明

public static void main(String[] args)
{
switch (args[0]) {
case "-n":
// 随机生成题目使用的随机数以及输入使用Scanner
Random random=new Random();
Scanner scanner=new Scanner(System.in);
// 总题目个数
Integer num=new Integer(args[1]);
// 计算使用的两个题目分数以及结果数
Fractions fractions1=new Fractions();
Fractions fractions2=new Fractions();
Fractions result=new Fractions();
// 计算分数类
Caculate caculate;
// 用户输入的答案
String answer;
String answer_[];
// 标记当前题目数
int i=0;
// 标记正确题目数
int right=0;

 

public void setValue(int numerator,int denominator)
{
int temp=maxCommonDivisor(denominator, numerator); //temp为最大公约数
this.numerator=numerator/temp;
this.denominator=denominator/temp;
}
// 求最大公约数

测试运行

随机生成的题目数

运算结果

 

PSP展示 

 

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

Coding

Standard

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

报告

1.5h 2h

代码地址:https://git.coding.net/w201421123115/test1.git

小结

对于java还不够熟悉,一开始在真分数方面迷茫了很久,请教了身边许多同学才勉强完成作业。在作业完成方面,还有一些不尽如人意的地方,希望以后能够改进自己的不足,多向身边的大神同学学习,争取下次作业能够完成的更好。

 

posted @ 2017-03-06 14:39  吴东益-  阅读(675)  评论(2编辑  收藏  举报