Olá,
Estou com o seguinte problema:
Exercício. Construir um programa que simula o lançamento de dois
dados. O programa deve usar um objeto da classe Random para
lançar os dados. Como cada dado pode mostrar um valor de 1 a 6, a
soma dos dois dados varia de 2 a 12. O programa deve lançar os
dados 30000 vezes. Utilizar um vetor para guardar o número de
vezes que cada possível valor da soma ocorreu. Mostrar o valor da
soma mais frequente e o valor da soma menos frequente.
? Qual deverá ser a soma mais frequente?
? Qual deverá ser a soma menos frequente?
Tentativa de Solução:
import java.util.Random;
import javax.swing.JOptionPane;
public class Dados {
private int nj;
public int[] jogadas(){
String s;
s = JOptionPane.showInputDialog("Quantas jogadas?");
nj = Integer.parseInt(s);
int soma[] = {2,3,4,5,6,7,8,9,10,11,12};
int B[] = new int[soma.length];
Random r = new Random();
int sum = 0;
for (int i = 0; i < nj; i++) {
int a = r.nextInt(5)+ 1;
int b = r.nextInt(5)+ 1;
sum = a + b;
for (int j = 0; j < soma.length; j++) {
if(sum == soma[j]){
B[j] += 1;
}
}
}
return B;
}
}
public class TesteDados {
public static void main(String[] args) {
Dados d = new Dados();
int[] r = d.jogadas();
System.out.println(r[0]+" "+r[1]+" "+r[2]+" "+r[3]+" "+r[4]+" "+r[5]+" "+r[6]+" "+r[7]+" "+r[8]+" "+r[9]+" "+r[10]);
}
}
Alguém saberia me explicar porque não funciona?