さて、引き算も実装します。
こんな感じ。
→ソースコード
public Fraction negate(){ return multiply(-1); } public Fraction subtract(Fraction dst){ return this.add(dst.negate()); }
結局のところ、引き算は負の数の足し算なので、対象となる分数にまず-1 を掛け(negate)た後、足し算(add)します。
これを実際に使ってみます。
→ソースコード
{ // 1/3 を引いてみる Fraction result = fraction.subtract(new Fraction(1, 3)); print(result); } { // 1/5 を引いてみる Fraction result = fraction.subtract(new Fraction(1, 5)); print(result); }
実行結果は以下。
result: 1/6 [false, false] result: 3/10 [false, false]
オッケーっぽいですね。