我对Java的异常有疑问。
我想在输入大于数组时抛出异常。
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,那么,我认为,它必须显示 有些错误 cos 数组只有两个空间,但输入是三个。可悲的是,我看不到任何错误。
即使没有 try{} catch{} 我也看不到任何错误。
为什么我的程序没有显示任何有关错误的信息,并且为什么 try{} catch{} 不起作用?
你可以试试
if ( sc.hasNext())
System.out.print("You stupid");
else{
try....
}