Я пытаюсь получить все простые числа от 1 до 10 и затем помещать их в массив. Я получаю ошибку ArrayIndexOutOfBoundsException
.ArrayIndexOutOfBoundsException issue
Я получаю это, потому что первый цикл for имеет starNum <=10
, а у массива технически еще нет значений?
Я не уверен, как еще фраза заявление пока еще имеет диапазон от 1 до 10. Помощь приветствуется.
public static void main(String[] args) {
int [] array = new int[args.length];
for (int starNum = 1; starNum <= 10; starNum ++){
boolean isPrime = true;
int list = Integer.parseInt(args[starNum]);
for (int i = 1; i*i <= starNum; i++) {
if (starNum % 2 == 0) {
isPrime = false;
}
}
if (isPrime) {
System.out.println(starNum);
array[starNum] = list;
System.out.println(array);
}
}
}
при условии 'arg.length = 10' ваша ошибка состоит в том, что вы начинаете массив с индексом '1', но они основаны на' 0' и должны быть закодированы до 'i
SomeJavaGuy
Подсказка: индексирование массива начинается с '0', а не' 1'. –