У меня есть программа, которая выводит 4000 + случайных цифр в диапазоне от 1 до 99999. После печати она показывает диапазон и пару других вещей, а затем запрашивает у пользователя 5 номеров для ввода и говорит, сколько раз ему приходилось запускать цикл, но я получаю исключение в основном при печати, оно исходит из основного цикла. Скриншот прилагается. Желаемая должен выглядеть примерно так:Loop Counting in Java
(Случайным сгенерированных чисел):
(пользователь вводит) Пожалуйста, введите номер: 33
(система Ответ) Потребовалось 3 раза, чтобы найти номер.
Если номер не указан, так как он содержит более 4000 целых чисел, он скажет, что не найден.
Вот код и скриншот:
Screenshot Исключение в главном java.lang.ArrayIndexOutOfBoundsException: 0
Спасибо!
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int[] input = new int[0];
int[] arrayone = new int[4096];
int loop = 0;
for(int i = 0; i < arrayone.length; i++) {
arrayone[i] = (int)(Math.random() * 99999 + 1);
for(int in = 0; in<input.length; in++) {
if (arrayone[i] == input[in]) {
loop++;
}
}
}
for (int i = 0; i < 5; i++) {
System.out.println("Please enter a number between " + min + " and " + max);
input[0] = s.nextInt();
if (min <= input[0] && input[0] <= max) {
System.out.println("It took " + loop + " time(s) to find the number " + input);
}
}
}
это всегда полезно после того, что исключение вы получаете ... –
'ИНТ [] = ввод новых ИНТ [0];' ваш массив имеет длину 0, поэтому при вызове 'вход [0] = s .nextInt(); 'он не может присвоить значение первому элементу. попробуйте дать ему правильный размер – dty
Спасибо за подсказку, как я могу изменить эту строку так, чтобы она не была назначена? – Millie