Revenons à la classe Fraction. Pour faciliter la création de fractions sur base de données lues depuis le clavier ou dans un fichier, on vous demande d'ajouter à cette classe un constructeur qui prend comme argument un String. Si ce String a comme format x/y avec x et y qui sont des entiers, il crée l'instance de la classe Fraction ayant x comme numérateur et y comme dénominateur. Pour les cas de String null / qui ne respectent pas le format demandé/ qui génère une division par zéro, lancez une NumberFormatException.
public class Fraction implements Comparable<Fraction> { private int num; // numerateur private int den; // denominateur /** * @pre den>0 * @post construit la fraction num/den */ public Fraction(int num, int den) { this.num=num; this.den=den; } /* * @pre - * @post construit une fraction sur base d'une chaine caractère de la * forme num/den où num est un entier et den un entier non nul * lance une exception lorsque la chaîne de caractères passée * en argument ne respecte pas ce format ou que le dénominateur est nul */ public Fraction(String s) throws NumberFormatException { // à compléter } /* * @pre - * @post retourne le dénominateur de la fraction */ public int getDen() { return this.den; } /* * @pre - * @post retourne le numérateur de la fraction */ public int getNum() { return this.num; } }