【发布时间】:2016-09-23 08:17:47
【问题描述】:
我创建了一个代码,用户可以在其中输入掷骰子的次数。然后程序输出面值、每张脸出现的次数以及每张脸的百分比频率。我必须使用 System.out.printf() 来格式化输出。
我的问题是,每当我输入一个大于 9 的掷骰子时,我的输出格式就完全被抛弃了……这是我的代码:
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%");
}
}
我将不胜感激!
【问题讨论】: