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
.
Les classes
On montrera la classe Trac et son utilisation avec la méthode main de la classe Main.
Track.java
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
etTrack
).
Main.java
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(); } }