Ho modificato il programma in modo da fargli fare solo 100 cicli, e ora arriva fino alla fine.
Però la variabile successi rimane a 0..
codice:
import java.util.Random;
public class probCasse {
public static void main(String[]x){
boolean[] casse = new boolean[3];
int i, j, successi=0, vecchiascatola, randomInt;
//for(j=0;j<2147483647;j++){
for(j=0;j<100;j++){
for(i=0;i<3;i++)casse[i]=false;
Random randomGenerator = new Random();
randomInt = randomGenerator.nextInt(3);
casse[randomInt]=true; //scatola vincente presa a caso
Random randomGenerator2 = new Random();
vecchiascatola = randomGenerator2.nextInt(3); //scegliamo una scatola a caso
//System.out.println("randomInt:" + randomInt + "\nvecchiascatola: " + vecchiascatola);
do{ //scarta a caso una cassa vuota tra le due false che non sia quella scelta
randomGenerator = new Random();
randomInt = randomGenerator.nextInt(3);
if(!casse[randomInt] && randomInt!=vecchiascatola)break;
}while(true);
//randomInt e' la scatola scartata, vecchiascatola e' la scatola che avevamo scelto prima.
for(i=0;i<3;i++)
if(i!=randomInt && i!=vecchiascatola)break;
//ora i e' la nuova scatola scelta
if(casse[i])successi++;
}
//System.out.println("Hai vinto il " + 100*successi/2147483646 + "% delle volte");
System.out.println("Hai vinto il " + successi + "% delle volte");
}
}