Я играю и изучаю немного Java, поэтому я действительно новичок e ... Моя проблема - я генерирую 5 случайных чисел от 1 до 5. Затем моя программа вычисляетСколько раз число 1, номер 2, номер 3, номер 4 и номер 5 сгенерированы в этих рандомах.
public static void main(String[] args) {
Random rand = new Random();
int[] array = new int[5];
int randomNumber;
int i;
int p1 = 0;
int p2 = 0;
int p3 = 0;
int p4 = 0;
int p5 = 0;
System.out.println("Random numbers:");
for (i = 0; i < 5; i++) {
randomNumber = rand.nextInt(5) + 1;
System.out.print(randomNumber);
if (i < 4) {
System.out.print(", ");
}
if (randomNumber == 1) {
array[0] = p1++;
} else if (randomNumber == 2) {
array[1] = p2++;
} else if (randomNumber == 3) {
array[2] = p3++;
} else if (randomNumber == 4) {
array[3] = p4++;
} else if (randomNumber == 5) {
array[4] = p5++;
}
}
//výpis četnosti
System.out.println();
System.out.println();
System.out.println("Histogram: ");
for (i = 0; i < array.length; i++) {
System.out.println("Number " + (i + 1) + ": " + array[i] + ".");
}
}
Программа действует странно для моего понимания.Выходные данные всегда отображают реальное количество чисел, содержащихся в сгенерированном radom пакете, точно минус 1, и я действительно не понимаю, почему.... Так что, если трижды сгенерировать число 3 из генератора случайных чисел, моя программа покажет номер три только "2".
Я был бы очень благодарен за помощь в этом.Спасибо.