Créez une classe Rationnel contenant un numérateur et un
dénominateur tous deux de type
long
. Instanciez deux rationnels a
et b et initialisez-les aux valeurs respectives
1/2 et 4/3. Affichez
ensuite les valeurs de ces champs.
Ajoutez à la classe
Rationnel
les méthodes suivantes :
public
String
toString
()
, retourne une représentation
du rationnel courant
sous forme de chaîne de caractères.
public
static
Rationnel
create
(
long
numerateur
,
long
denominateur
)
,
retourne le rationnel numerateur/denominateur.
public
Rationnel
copy
()
, retourne une copie du
rationnel courant.
public
Rationnel
opposite
()
, retourne l’opposé du
rationnel courant.
public
Rationnel
inverse
()
, retourne l’inverse du
rationnel courant.
public
void
reduce
()
, met le rationnel sous forme de
fraction irréductible. Vous utiliserez l’algorithme d’Euclide
calculant le plus grand commun diviseur.
public
bool
isPositive
()
, retourne
true
si et seulement si le rationnel courant est strictement
positif.
public
Rationnel
add
(
Rationnel
other
)
, retourne la
somme du rationnel courant et du rationnel
other
.
public
void
addTo
(
Rationnel
other
)
, additionne le
rationnel
other
au rationnel courant.
public
Rationnel
sub
(
Rationnel
other
)
, retourne la
soustraction du rationnel courant et du rationnel
other
.
public
Rationnel
multiply
(
Rationnel
other
)
, retourne
le produit du rationnel courant avec le
rationnel
others
.
public
Rationnel
divide
(
Rationnel
other
)
, retourne
le quotient du rationnel courant avec le
rationnel
others
.
public
bool
equals
(
Rationnel
other
)
, retourne
vrai si et seulement si
this
et
others
sont égaux. Attention, 1/2 est égal à
2/4.
public
int
compareTo
(
Rationnel
other
)
, retourne
0 si le rationnel courant est égal au
rationnel
other
, −1 si le rationnel courant est
inférieur à
other
, 1 dans le cas contraire.