Previous Up
Version pdf - Version archive

2.8  Objets

2.8.1  Création d’une classe

Exercice 1 - La classe Rationnel

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.

2.8.2  Méthodes

Exercice 2 - Opérations sur les Rationnels

Ajoutez à la classe Rationnel les méthodes suivantes :

  1. public String toString(), retourne une représentation du rationnel courant sous forme de chaîne de caractères.
  2. public static Rationnel create(long numerateurlong denominateur), retourne le rationnel numerateur/denominateur.
  3. public Rationnel copy(), retourne une copie du rationnel courant.
  4. public Rationnel opposite(), retourne l’opposé du rationnel courant.
  5. public Rationnel inverse(), retourne l’inverse du rationnel courant.
  6. public void reduce(), met le rationnel sous forme de fraction irréductible. Vous utiliserez l’algorithme d’Euclide calculant le plus grand commun diviseur.
  7. public bool isPositive(), retourne true si et seulement si le rationnel courant est strictement positif.
  8. public Rationnel add(Rationnel other), retourne la somme du rationnel courant et du rationnel other.
  9. public void addTo(Rationnel other), additionne le rationnel other au rationnel courant.
  10. public Rationnel sub(Rationnel other), retourne la soustraction du rationnel courant et du rationnel other.
  11. public Rationnel multiply(Rationnel other), retourne le produit du rationnel courant avec le rationnel others.
  12. public Rationnel divide(Rationnel other), retourne le quotient du rationnel courant avec le rationnel others.
  13. public bool equals(Rationnel other), retourne vrai si et seulement si this et others sont égaux. Attention, 1/2 est égal à 2/4.
  14. 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.

corrigé


Previous Up