J'ai créé un code dans lequel l'utilisateur entre le nombre de fois qu'un dé sera lancé. Le programme affiche ensuite les valeurs de visage, le nombre de fois où chaque visage est apparu, et un pourcentage de fréquence de chaque visage. Je dois utiliser System.out.printf() pour formater la sortie.Formatage de sortie de jet de dés Java
Mon problème est que chaque fois que je entrée un rouleau qui est plus de 9, la mise en forme de ma sortie est complètement jeté hors ... Voici mon code:
package variousprograms;
import java.util.*;
public class DiceRoll
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int[] array = new int[7];
System.out.print("Enter number of rolls: ");
int roll = input.nextInt();
System.out.printf("%s%8s%6s\n", "#", "Count", "Freq");
for (int i = 1;i<=roll;i++)
{
array[(int)(6*Math.random()) + 1]++;
}
for(int a = 1; a<array.length; a++)
{
double percentage = ((double) array[ a ]/roll)*100;
System.out.printf("%1d%6d%15.2f%%\n", a, array[ a ], percentage);
}
System.out.printf("%s%2s%10s\n", "Total", roll, "100%");
}
}
Je vous serais reconnaissant toute aide!
Ce n'est pas une "solution de contournement", c'est juste la bonne façon d'utiliser 'printf' –
@Stephen P Je l'ai édité. :) – GOXR3PLUS