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;
}
}
INGInious