私のRationalクラスは分数を加算、減算、乗算、および除算することになっているので、メインクラスで呼び出されると、これらの動作が実行されます。しかし、正しい答えを得るために分数(gcd)を適切に減らすことができず、分割方法がまったく実行されていない(エラーメッセージが表示されます)。Rational Class - 分数と分裂を減らすことができません
スレッド "main" javaの例外。 lang.ArithmeticException:/ by zero Rational.division(Project1.java:45)at Project1.main(Project1.java:12)
これらの問題を解決するにはどうすればよいですか?合理おかげ
パブリッククラスProject1の{
public static void main(String[] args) {
Rational a = new Rational (6, 12);
Rational b = new Rational (8, 9);
System.out.println(a + " + " + b + " = " + a.add(b));
System.out.println(a + " - " + b + " = " + a.subtraction(b));
System.out.println(a + " * " + b + " = " + a.multiply(b));
System.out.println(a + "/" + b + " = " + a.division(b));
}
}
クラス{
private int numerator, denominator;
public Rational(int num, int denom) {
numerator = num;
denominator = denom;
}
public Rational gcd() {
while (numerator != denominator)
{
if (numerator > denominator)
numerator = numerator - denominator;
else
denominator = denominator - numerator;
}
return new Rational(numerator, denominator);
}
public Rational add(Rational o) {
return new Rational (numerator + o.numerator, denominator +o.denominator);
}
public Rational conjugate() {
return new Rational (numerator, - denominator);
}
public Rational division(Rational o) {
return new Rational ((numerator/denominator)/(numerator/denominator), denominator);
}
public Rational multiply(Rational o) {
return new Rational (numerator * o.numerator, denominator * o.denominator);
}
public Rational subtraction(Rational o) {
return new Rational (numerator - o.numerator, denominator - o.denominator);
}
public String toString() {
return (numerator + "/" + denominator);
}
}