/* * Created on 21 mai 2005 * * */ package fr.raphdubois.sugarbox; import java.util.Random; /** * @author Raphael Dubois * * */ public class SugarBox { int beginValue=10; int maxSugar; int sugarValue=2; int listSugar[] = new int[1000]; private Random random ; public SugarBox(Random random) { this.random=random; maxSugar=beginValue; for (int i = 0; i < maxSugar; i++) { listSugar[i] = sugarValue; } } public void printBox() { System.out.print("Sugar:"+maxSugar+" Box:"); for (int i = 0; i < maxSugar; i++) { System.out.print(listSugar[i]+" "); } System.out.println(""); } public void takeSugar() { int number = random.nextInt(maxSugar); int sugar= listSugar[number]; if (sugar == 2 ) { listSugar[number]=1 ; }else { remove(number); } } private void remove(int k) { if (isEmpty()) return; for (int i = k; i < maxSugar; i++) { listSugar[i]=listSugar[i+1]; } maxSugar--; } public boolean isEmpty(){ return(maxSugar == 0); } public int experience() { int take=0; int result=0; while (! isEmpty()) { take++; takeSugar(); // System.out.print(take+" =>"); // printBox(); if (take == (2 * beginValue -2) ) { // printBox(); result = listSugar[0]; } } return result; } public static void main(String[] args) { double total=0; Random random =new Random(); int nbExperience=1; for (int i = 0; i < nbExperience; i++) { SugarBox sb = new SugarBox(random); int result=sb.experience(); total+=result; } System.out.println("Le resultat:"+total/nbExperience); } }
-