分配的目标是使用并行的一维数组,但也允许使用二维数组。
我可以打印出不同的组合,例如由一对骰子滚动的 1,1(也称为蛇眼)。
试图打印出每个组合滚动的次数而不打印组合的滚动次数是很困难的。
前任:
输入您想要掷骰子的次数:5
你掷了:1 和 5 共 1 次- 我不想要的
您掷出:4 和 3 共 1 次
你滚动了:1 和 5 总共 2 次 - 对于重复,这就是我想要打印的全部内容
您掷出:3 和 3 共 1 次
您掷出:2 和 2 共 1 次
我知道在增加组合数组(保存每个组合的滚动次数)后立即打印出来的循环是不正确的,但我坚持如何修改它。
我认为组合 [0][0] 是 1,1 被滚动的次数,组合 [0][1] 是 1,2 被滚动的次数,依此类推。
import java.util.Scanner;
public class Dice {
Scanner read = new Scanner(System.in);
Random diceRoll = new Random();
int numRolls;
int[] dice1 = new int [1000];
int[] dice2 = new int [1000];
int[][] combo = new int[6][6];
public void getRolls()
{
System.out.println("Enter the number of times you want to roll a pair of dice: ");
numRolls = read.nextInt();
dice1 = new int[numRolls];
dice2 = new int[numRolls];
for (int i = 0; i < dice1.length; i++)
{
dice1[i] = diceRoll.nextInt(6) + 1;
dice2[i] = diceRoll.nextInt(6) + 1;
}
System.out.println("\n");
for (int j = 0; j < combo.length; j++)
{
for (int k = 0; k < combo[0].length; k++)
{
combo[j][k] = 0;
}
}
for (int m = 0; m < numRolls; m++)
{
combo[dice1[m] - 1][dice2[m] - 1]++;
System.out.println("You rolled: " + dice1[m] + " and " +
dice2[m] + " a total of " + combo[dice1[m] - 1][dice2[m] - 1] +
" times");
}
芜湖不芜
万千封印
相关分类