我已经检查了许多关于对象操作的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);
}
但是没有用。
谢谢。
答案 0 :(得分:2)
将两个分数相乘只是意味着将分子相乘,然后将该乘积除以分母。因此,您可以尝试:
public Fraction multiply(Fraction other) {
int counter = other.getCounter() * this.counter;
int denim = other.getDenominator() * this.denom;
return new Fraction(counter, denom);
}
我将把划分的实施交给您。提示一下,该代码与上面的代码非常相似,不同之处在于,您将使用两个分数输入中的一个(但不是两个)的倒数。