Java Reference
In-Depth Information
23
24
for
(
int
k =
1
; k <= n1 && k <= n2; k++) {
25
if
(n1 % k ==
0
&& n2 % k ==
0
)
26 gcd = k;
27 }
28
29
return
gcd;
30 }
31
32
/** Return numerator */
33
public long
getNumerator() {
34
return
numerator;
35 }
36
37
/** Return denominator */
38
public long
getDenominator() {
39
return
denominator;
40 }
41
42
/** Add a rational number to this rational */
43 {
44
long
n = numerator * secondRational.getDenominator() +
45 denominator * secondRational.getNumerator();
46
public
Rational add(Rational secondRational)
a
b
c
d
ad
+
bc
+
=
bd
long
d = denominator * secondRational.getDenominator();
47
return new
Rational(n, d);
48 }
49
50
/** Subtract a rational number from this rational */
51 {
52
long
n = numerator * secondRational.getDenominator()
53 - denominator * secondRational.getNumerator();
54
public
Rational subtract(Rational secondRational)
a
b
c
d
ad
-
bc
-
=
bd
long
d = denominator * secondRational.getDenominator();
55
return new
Rational(n, d);
56 }
57
58
/** Multiply a rational number by this rational */
59
public
Rational multiply(Rational secondRational)
{
a
b
c
d
ac
bd
*
=
60
long
n = numerator * secondRational.getNumerator();
61
long
d = denominator * secondRational.getDenominator();
62
return new
Rational(n, d);
63 }
64
65
/** Divide a rational number by this rational */
66
public
Rational divide(Rational secondRational)
{
a
b
c
d
ad
bc
=
67
long
n = numerator * secondRational.getDenominator();
68
long
d = denominator * secondRational.numerator;
69
return new
Rational(n, d);
70 }
71
72 @Override
73
public
String toString() {
74
if
(denominator ==
1
)
75
return
numerator +
""
;
76
else
77
return
numerator +
"/"
+ denominator;
78 }
79
80 @Override
// Override the equals method in the Object class
81
public boolean
equals(Object other) {
82
if
((
this
.subtract((Rational)(other))).getNumerator() ==
0
)