restricted:mco-2:correction:tp2

Correction TP2

On suppose que vous avez un TP1 fonctionnel. Nous ajouterons ici une méthode static à la classe Main pour terster la classe Track.

On montrera la classe Trac et son utilisation avec la méthode main de la classe Main.

package com.mco;
 
 
import java.util.Arrays;
 
public class Track {
    private Dice[] dices;
 
    public Track() {
        dices = new Dice[5];
        for (int i=0; i < 5; i+=1) {
            dices[i] = new Dice();
        }
 
    }
 
    public void roll() {
        for (Dice dice: dices) {
            dice.roll();
        }
    }
 
    public Dice[] getDices() {
        return dices;
    }
 
    @Override
    public String toString() {
        return "Track{" +
                "dices=" + Arrays.toString(dices) +
                '}';
    }
}

Spécificités :

  • Accès à l'attribut dices via un getter qui rend l'attribut.
  • Utilisation des 2 formes de boucle for. La classique dans le constructeur, la construction en for each dans la méthode roll().
  • On utilise la méthode roll de chaque dé. On peut utiliser le même nom pour Track et Dice puisque ces méthdoes ne s'appliquent à des classes différentes (Dice et Track).

On ne montrera que les ajouts par rapport à la correction du TP1.

package com.mco;
 
public class Main {
    static void testTrack() {
        System.out.println("---- Track tests ----");
 
        final int NUMBER_TRIES = 100;
 
        Track track = new Track();
        int sum = 0;
        for (int i=0; i < NUMBER_TRIES ; i += 1) {
            track.roll();
            System.out.println(track);
            for (Dice dice: track.getDices()) {
                sum += dice.getPosition();
            }
        }
        System.out.println((float) sum / NUMBER_TRIES);
    }
 
 
   public static void main(String[] args) {
        testTrack();
    }
}
  • restricted/mco-2/correction/tp2.txt
  • Dernière modification : 2016/02/26 09:23
  • de fbrucker