On vous donne la classe DeStats dont voici le corps:
public class DeStats extends De {
private int lances;
private int[] resultats;
/*
* @pre s != null;
* @post Crée une instance de la classe DeStats
* avec comme nom s
*/
public DeStats(String s) {
// A complèter
}
/*
* @pre -
* @post retourne le tableau des résultats du dé this
*/
public int[] getResultats() {
/* Code non fourni */
}
/*
* @pre 1 <= n <= 6
* @post retourne le nombre de fois que le dé
* a donné comme résultat n
*/
public int statistique(int n) {
return this.resultat[n-1];
}
/*
* @pre -
* @post incrémente le nombre de lancés et le
* nombre de fois qu'un chiffre est sorti.
* Retourne le chiffre que le dé a donné.
*/
public int lance() {
/* Code non fourni */
}
/*
* @pre -
* @post retourne le nombre de lancés du dé this
*/
public int getLances() {
return this.lances;
}
/*
* @pre -
* @post retourne une description du dé sous forme
* d'un String. Le format retourné est le nom du
* dé suivi des statistique sous forme de tableau
*/
public String toString() {
/* Code non fourni */
}
/*
* @pre -
* @post retourne true si this et o sont deux DeStats identiques
*/
public boolean equals(Object o) {
/* Code non fourni */
}
}
Pour information, la classe De ressemble à ceci :
import java.util.Random;
public class De {
private String nom; // le nom de ce dé (par exemple sa couleur)
protected Random r; // nombre aléatoire
/*
* @pre nom != null
* @post crée l'instance de la classe De ayant comme nom la chaine n
* initilisé le générateur de nombres aléatoires
*/
public De(String n) {
nom = n;
r = new Random();
}
/*
* @pre -
* @post lance le dé et retourne la valeur du dé
*/
public int lance() {
return r.nextInt(6)+1;
}
/*
* @pre -
* @post retourne le générateur de nombres aléatoires utilisé par le dé
*/
public Random getRandom() {
return r;
}
/*
* @pre -
* @post retourne le nom du dé
*/
public String getNom(){
return nom;
}
/*
* @pre n != null
* @post modifie le nom du dé qui est maintenant n
*/
public void setNom(String n){
this.nom = n;
}
/*
* @pre r != null
* @post modifie le générateur de nombres aléatoires du dé qui est maintenant r
*/
public void setRandom(Random r){
this.r = r;
}
/*
* @pre -
* @post retourne une chaîne de caractères représentant le dé
*/
public String toString(){
return this.nom;
}
/*
* @pre -
* @post retourne true ssi other est un dé identique à celui-ci (même nom et même générateur aléatoire)
*/
public boolean equals(Object other) {
/* Code non fourni */
}
}
INGInious