Уважаемые разработчики задания, а вы в курсе, что эталонное решение не правильное? )
Смотрите, сначала нужно согласно здравого смысла и вашего условия проверять вводимую переменную на предмет того, что она больше нуля. И это логично - размер массива не может быть нулевым или отрицательным.
То есть, хотя бы нужно сделать вот так:
Scanner console = new Scanner(System.in);
int n=0;
while (n<=0){
n = console.nextInt();
}
Но, у вас весь ввод первой переменной это:
int n = Integer.parseInt(scanner.nextLine());
Соответственно, ничего не проверяется. С вашим набором введенных параметров это работает. Но, для разнообразия, в вашем примере меняем первое число на отрицательное - и все падает.
package com.javarush.task.pro.task05.task0511;
import java.util.Scanner;
/*
Создаем двухмерный массив
*/
public class Solution {
public static int[][] multiArray;
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
int n=0;
while (n<=0){
n = console.nextInt();
}
for (int i=0; i<=n; i++){
int z = console.nextInt();
if (z>0){
multiArray = new int[i][z];
}
else continue;
}
}
}