在Java中如何在输入值过多时抛出异常?

问题描述 投票:0回答:1

我对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{} 不起作用?

java exception java.util.scanner
1个回答
-2
投票

你可以试试

if ( sc.hasNext())
   System.out.print("You stupid");

else{
   try....

}
© www.soinside.com 2019 - 2024. All rights reserved.