我需要从main分配一个掷骰子的价值,将它发送到我的班级 - >方法并循环遍历此值。每次掷骰子时,需要在某处保存1-6的随机值,我就这样做了:
public class Generator {
public static int DiceGame(int amountToss)
{
//Declare local variables
int numberShowing = 0;
int toss = 0;
int result = 0;
int one = 1;
int two = 2;
int three = 3;
int four = 4;
int five = 5;
int six = 6;
Random dice = new Random(); //Create constructor
numberShowing = dice.nextInt(6) +1;
for (int i = 0; i < toss; i++) {
numberShowing = i;
resultat=i;
}
return result;
}
}
我也应该存储并显示已经显示了1s,2s等多少次但我会在以后找到它。 我只想要一些工作......
答案 0 :(得分:1)
如果我理解正确,你会想要这样做
public static int[] DiceGame(int amountToss)
{
//Declare local variables
int[] nums = new int[6];
Random dice = new Random(); //Create constructor
for (int i = 0; i < amountToss; i++) {
nums[dice.nextInt(6)]++;
}
return nums;
}
返回的数组将按索引计算每个骰子的数量。
答案 1 :(得分:0)
我认为您无法看到结果,因为您的折腾值已初始化为0.您需要从更高的值开始,例如10,每次运行减1。要显示生成的数字,需要在关闭for循环之前打印结果。或者,您可以将生成的结果存储在列表中并打印列表。希望这可以帮助。
${!define_var}
答案 2 :(得分:0)
以下是保存和显示随机值的结果以及每个数字的计数的代码。
public static void DiceGame(int amountToss) {
//Declare local variables
Random dice = new Random();
int outputNumbers[] = new int[amountToss];
int numbersCount[] = new int[6];
int current = 0;
for (int i = 0; i < amountToss; i++) {
current = dice.nextInt(6) + 1;
outputNumbers[i] = current;
numbersCount[current-1]++;
System.out.println("number: " + outputNumbers[i]);
}
System.out.println("\nNumbers count:\n");
for (int i = 0; i < amountToss; i++) System.out.println((i+1) + ": " + numbersCount[i]);
}
希望这可以帮到你。