Целью назначения является использование параллельных 1-D массивов, но также допускаются 2-D.
Я могу распечатать различные комбинации, такие как 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");
}