Программа должна распечатывать значения, хранящиеся в массиве размером 5 после ввода пользователем значений.ArrayIndexOutOfBoundsException при печати значений из массива
Вот мой код:
import java.util.Scanner;
public class Arrays_Qu1 {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
int arr[]= new int [5];
System.out.println("Enter a number");
int i;
for (i=0;i<arr.length;i++) {
arr[i]=sc.nextInt();
}
System.out.println(arr[i]);
}
}
После того как я войти в 5-значение, программа не завершается, но вместо броска:
Исключение в потоке «основного» java.lang.ArrayIndexOutOfBoundsException: 5
Каково значение 'i' после цикла? – Actorclavilis
Отлаживайте свой код, и вы увидите, что 'i' будет 5 после цикла, который выходит за пределы индекса [0,4]. Это потому, что цикл будет увеличивать 'i' после проверки условия, т. Е. Будет увеличивать значение' i' до 5, а затем проверять 'i
Thomas
I ++ выполняет еще один раз, чем вы думаете; в последней итерации цикла, сразу после назначения массива []. – ABuckau