public class Number {
private int numerator;
private int denominator;
public Number(int numerator, int denominator) {
this.numerator = numerator;
this.denominator = denominator;
}
public Number() {
this.numerator = 0;
this.denominator = 1;
}
public int getDenominator() {
return denominator;
}
public int getNumerator() {
return numerator;
}
public String toString() {
if (numerator == 0) {
return "0";
} else if (denominator == 1) {
return denominator + "";
}
return numerator + "/" + denominator;
}
public Number subtract(Number other) {
numerator = (this.getNumerator() * other.getDenominator()) - (other.getNumerator() * this.getDenominator());
denominator = this.getDenominator() * other.getDenominator();
return this;
}
////
public class test {
public static void main(String[] args) {
Number n1 = new Number(1, 2);
Number n2 = new Number(3, 5);
Number n4 = new Number(7, 40);
Number test = n2.subtract(n1);
System.out.println(test);
Number test2 = n4.subtract(n1);
System.out.println(test2);
Number test3 = n1.subtract(n4);
System.out.println(test3);
Number test4 = n2.subtract(n1);
System.out.println(test4);
}
}
我遇到了number subtract()方法的問題。當我從客戶端調用它的時候,它在某些時候會有效,但是在幾次連續的調用之後,我得到了意想不到的輸出。前兩個電話工作正常,然後我開始得到的結果是遠離。我知道我在減法()方法中丟失了一些東西,只是不確定它是什麼。需要幫助修復這段代碼
任何幫助,將不勝感激。
當你加減分數你不減去分母。你也需要共同的分母來執行減法。 –
請修改您的標題以使其更具信息性。 – Trott
舉例說明user1060350的回答:是2/2(aka。1) - 1/1(也就是1)等於1/1(還有一個)?或者是1 - 1 = 0? – flesk