Я хочу напечатать массив в матричной форме, взяв ввод от пользователя. Я пришел к этому коду, но этот код выдавал исключение ArrayIndexOutOfBound
. Я старался, но я не могу прийти к какому-либо заключению, поэтому, пожалуйста, помогите мне.Исключение ArrayIndexOutOfBounds с использованием сканера для чтения элемента массива
Вот код:
System.out.println("Enter the row i.e no. of array in x");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println("Enter the size of array");
int y[] = new int[n];
for (int i = 1; i < y.length; i++) {
y[i] = sc.nextInt();
}
int z[][] = new int[n][];
for (int i = 1; i < y.length; i++) {
z[i] = new int[y[i]];
}
System.out.println("Enter the elements of array");
for (int i = 1; i < z.length; i++) {
for (int j = 1; j < z[i].length; j++) {
z[i][j] = sc.nextInt();
}
}
System.out.println("Matrix is");
for (int i = 1; i < z.length; i++) {
for (int j = 1; j < z[i].length; j++) {
System.out.print(z[i][j]);
System.out.print("\t");
}
System.out.println();
}
Может быть полезно добавить трассировку стека за исключением, которое вы видите, и указать строку, в которой это происходит. – vptheron
Также, как правило, тест после написания небольших фрагментов кода за раз. Групповое тестирование предпочтительнее, но даже просто быстрый запуск с помощью оператора печати. Таким образом, вы знаете, где ошибка. – Vidya
Какие входные данные вызывают ArrayOutOfBoundsException? – Sionnach733