Questo codice non ha alcun senso. Infatti frequenza è un array inizializzato con valori nulli (tutti 0). Senza alcun tipo di assegnamento prima, frequenza[j] conterrà sempre 0 per ogni j. Stai di fatto continuando a sommare 1 all'elemento di posto 0, che il secondo for non enumera (in quanto parti da 1). Se controllassi il valore di somma[0] vedresti che è 36000.
Di fatto, quello che stavi tentando di scrivere è:
Codice sorgente - presumibilmente Java |
int sommaDadi = 0; for(int dado = 0; dado < 2; dado++) { int risultato = 1 + randomNumbers.nextInt(6); ++frequenza[risultato]; sommaDadi += risultato; } ++somma[sommaDadi];
|
Puoi decidere o meno di tenerti il for, a seconda che tu voglia o meno cambiare il numero di dadi.
Però è meglio se inizi ad usare gli array con base 0. E' inutile sprecare un elemento.