# 个人作业1——四则运算题目生成程序

coding.net地址：https://git.coding.net/YJc_/First-homework.git

## a.题目描述：

2.运算符为 +, −, ×, ÷

3.并且要求能处理用户的输入，并判断对错，打分统计正确率。

4.要求能处理用户输入的真分数， 如 1/2, 5/12 等

Myapp.exe -n 10

1. 完成四则基本运算
2. 能处理真分数
3. 按用户要求出题目数量
4. 能得出用户做题的正确率

## c.实现步骤

1. 根据用户输入的参数（整数n），生成n道简单的分数运算题
2. 获取用户输入的答案
3. 校验用户输入的答案和正确的答案
4. 给出用户的答题正确率
Fraction类

class Fraction {
private int c;
private int d;
}

    // ----- plus
public Fraction minus(Fraction f2) {
int newNumerator = c * f2.getDinominator() - d * f2.getNumerator();
int newDinominator = d * f2.getDinominator();

int maxCommon = commonDivisor(newNumerator, newDinominator);
return new Fraction(newNumerator / maxCommon, newDinominator
/ maxCommon);
}

// ----- minus
public Fraction plus(Fraction f2) {
int newNumerator = c * f2.getDinominator() + d * f2.getNumerator();
int newDinominator = d * f2.getDinominator();

int maxCommon = commonDivisor(newNumerator, newDinominator);
return new Fraction(newNumerator / maxCommon, newDinominator
/ maxCommon);
}

// ----- mutiply
public Fraction multiply(Fraction f2) // 两个分数相乘。
{
int newNumerator = c * f2.getNumerator();
int newDinominator = d * f2.getDinominator();

int maxCommon = commonDivisor(newNumerator, newDinominator);
return new Fraction(newNumerator / maxCommon, newDinominator
/ maxCommon);
}

// ----- divide
public Fraction divide(Fraction f2) {
if (f2.getNumerator() == 0) {
System.out.println("0不能做除数！");
// System.exit(0);
}
Fraction result = new Fraction();
int newNumerator = c * f2.getDinominator();
int newDinominator = d * f2.getNumerator();

int maxCommon = commonDivisor(newNumerator, newDinominator);
return new Fraction(newNumerator / maxCommon, newDinominator
/ maxCommon);
}

    public static int commonDivisor(int x, int y) // 计算2个数的最大公约数。按绝对值计算。
{
if (x == 0 || y == 0) {
return 1;
}
int x1;
int y1;

x1 = (Math.abs(x) > Math.abs(y)) ? Math.abs(x) : Math.abs(y); // 使x1>y1.
y1 = (Math.abs(x) > Math.abs(y)) ? Math.abs(y) : Math.abs(x);
int z = 1;
while (z != 0) {
z = x1 % y1;
x1 = y1;
y1 = z;
}
return x1;
}

## e.实验总结和自我评价

• 第一次编写博客随笔，参考了一些同学的博客，有一些不足的地方。
• 使用java语言编程这个程序的时候遇到一些函数的使用，经常要翻看参考手册，所以在编程的时候周期较长。
• 本身编程能力不足，有的功能实现不了，但是会继续学习，多参考专业同学的实现方法。

### psp表格

posted @ 2017-03-05 13:21  _YJc  阅读(216)  评论(0编辑  收藏  举报