Environ deux mois se sont écoulés depuis que j'ai commencé à étudier Java. J'ai écrit un programme qui peut confirmer la convergence de la probabilité que les dés apparaissent comme un résumé des variables sous-jacentes, des tableaux, des méthodes, etc. Exécutez-le sur le terminal et entrez n'importe quel nombre de fois pour afficher le résultat dans un graphique et calculer la probabilité de chacun. Si vous le secouez environ 20 000 fois, il sera très proche de 1/6.
Dice_Probability.java
import java.util.Scanner;
import java.util.Random;
public class Dice_Probability{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.print("Entrez le nombre de fois que vous voulez lancer les dés> ");
int times = scan.nextInt();
int[] result = generateDice(times);
System.out.println("Afficher le résultat");
for (int i=0; i<result.length; i++){
System.out.printf("%2d", result[i]);
if((i+1) % 10 ==0){
System.out.println("");
}
}
System.out.println("Il est comme suit lorsqu'il est exprimé dans un graphique.");
drawGraph(result);
System.out.println("La probabilité de chaque œil est");
double[] percentage = calcProbability(result);
for (int i=0; i<percentage.length; i++){
System.out.println((i+1) + "Yeux: " + percentage[i]);
}
}
public static int[] generateDice(int n){
Random rand = new Random();
int[] arr = new int[n];
for (int i=0; i<arr.length; i++){
arr[i] = rand.nextInt(6) + 1;
}
return arr;
}
public static void drawGraph(int[] arr){//Méthode d'affichage du graphique
int[] dottimes = {0,0,0,0,0,0};//Enregistrez le nombre de fois où les yeux apparaissent
for (int i=0; i<arr.length; i++){
switch (arr[i]){
case 1:
dottimes[0]++;
break;
case 2:
dottimes[1]++;
break;
case 3:
dottimes[2]++;
break;
case 4:
dottimes[3]++;
break;
case 5:
dottimes[4]++;
break;
case 6:
dottimes[5]++;
break;
}
}
for (int i=0; i<=5; i++){
System.out.print((i+1) + " : ");//Affichage des rouleaux
for(int j=0; j<dottimes[i]; j++){//1~dice[i]Fois*Spectacle
System.out.print("*");
}
System.out.println("");//nouvelle ligne
}
}
public static double[] calcProbability(int[] arr){//Méthode de calcul de la probabilité. Reçoit les données oculaires et renvoie la probabilité de chaque œil
int[] dottimes = {0,0,0,0,0,0};
for (int i=0; i<arr.length; i++){
switch (arr[i]){
case 1:
dottimes[0]++;
break;
case 2:
dottimes[1]++;
break;
case 3:
dottimes[2]++;
break;
case 4:
dottimes[3]++;
break;
case 5:
dottimes[4]++;
break;
case 6:
dottimes[5]++;
break;
}
}
double[] probability = {0,0,0,0,0,0};
for (int i=0; i<dottimes.length; i++){
probability[i] = (double)dottimes[i]/arr.length;
}
return probability;
}
}