Я хочу создать исключение, когда входные данные превышают массив.
Код: Выделить всё
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("2차원 배열의 행 갯수를 입력해주세요: ");
int size1 = sc.nextInt();
System.out.print("2차원 배열의 열 갯수를 입력해주세요: ");
int size2 = sc.nextInt();
int intArray[][] = new int[size1][size2];
// 배열 크기 입력
try {
for(int i = 0; i < intArray.length ; i++) {
System.out.print(i + "행 배열의 값을 " + intArray[i].length + "개 입력해주세요");
for(int j = 0; j < intArray[i].length ; j++) {
intArray[i][j] = sc.nextInt();
}
}
}catch(ArrayIndexOutOfBoundsException e){
System.out.print("You stupid");
}
sc.close();
}
Например, введите 0 2 и введите 1 2 3, тогда, я думаю, это должен показать
какую-то ошибку, потому что в массиве есть место только для двух, а на входе — три. К сожалению, я не вижу ни одной ошибки.
Даже без try{} catch{} я не вижу ни одной ошибки.
Почему нет Моя программа не показывает никакой информации об ошибке и почему try{} catch{} не работает?
Подробнее здесь: https://stackoverflow.com/questions/790 ... put-values
Мобильная версия