Я пытаюсь сделать приложение, которое просит пользователя ввести количество элементов в массиве, а затем попросить их заполнить этот массив целыми числами. А после, распечатать.Почему мой массив не распечатывает мой ввод?
Когда я запускаю его он просит меня ввести, а потом дает мне:
Исключение в потоке "основного" java.lang.ArrayIndexOutOfBoundsException: 10 на main.main (main.java:13)
import java.util.Scanner;
public class main {
public static void main(String [] args){
Scanner scan = new Scanner(System.in);
System.out.println("Input number of units in array: ");
int i1 = scan.nextInt();
int[] arrayOne= new int[i1];
for(int i=0 ; i<=i1 ; i++){
System.out.println("Enter " + i + " unit in array.");
arrayOne[i] = scan.nextInt();
}
System.out.println(arrayOne);
}
}
Можете ли вы, ребята, помочь мне определить, где моя ошибка? Я попробовал несколько разных вещей, но ничего не работает.
Спасибо!
'я <= i1' неправильно. Это будет длина вашего массива, а не последний действительный индекс. Вместо этого используйте 'i
Проверка состояния вашего цикла должна быть «i
возможный дубликат [Java ArrayIndexOutOfBounds Exception] (http://stackoverflow.com/questions/4044578/java-arrayindexoutofbounds-exception) – madth3