对象的算术运算任务

时间:2019-01-08 10:45:16

标签: java object

我已经检查了许多关于对象操作的stackOverflow问题,但没有找到解决方案。

我的任务是使用以下构造函数将两个对象相乘和除:

public class Fraction {
    private int denom;
    private int counter;

    public Fraction() {
        this.counter = 0;
        this.denom = 1;
    }

    public Fraction(int counter) {
        this.counter = counter;
        this.denom = 1;
    }

    public Fraction(int counter, int denom) {
            this.counter = counter;
        if (denom == 0) {
            this.denom = 1;
        } else
            this.denom = denom;
    }
}

“乘”和“除”方法的内容是什么?

public Fraction multiply(Fraction other) {

}

public Fraction divide(Fraction other) {

}

如果这是我需要使用的:

Fraction frac1 = new Fraction (2);
Fraction frac2 = new TortSzam(3,4);
fracResult = frac1.divide(frac2);

结果是:2.6666666666666665

我通过其他StackOverflow问题尝试过的内容:

public Fraction multiply(Fraction other) {
        final Fraction multi = this;
        BigInteger result = new BigInteger;
        result.multiply(other);
}

但是没有用。

谢谢。

1 个答案:

答案 0 :(得分:2)

将两个分数相乘只是意味着将分子相乘,然后将该乘积除以分母。因此,您可以尝试:

public Fraction multiply(Fraction other) {
    int counter = other.getCounter() * this.counter;
    int denim = other.getDenominator() * this.denom;

    return new Fraction(counter, denom);
}

我将把划分的实施交给您。提示一下,该代码与上面的代码非常相似,不同之处在于,您将使用两个分数输入中的一个(但不是两个)的倒数。