输入数据异常处理

来源:互联网 发布:matlab量化交易源码 编辑:程序博客网 时间:2024/04/29 20:12

课堂练习2

从命令行输入5个整数,放入一整型数组,然后打印输出。要求:

如果输入数据不为整数,要捕获输入不匹配异常,显示请输入整数;如果输入数据多余5个,捕获数组越界异常,显示请输入5个整数

无论是否发生异常,都输出感谢使用本程序!

 

import java.util.*; 

public class TestArrayException { 
    public static void main(String[] args) { 
        int a[] = new int[5]; 
        System.out.println("请输入5个数:"); 
        System.out.println("最后输入一个非数字结束输入操作。"); 
        Scanner in = new Scanner(System.in); 
        try{ 
            int i = 0; 
            while(in.hasNextDouble()){      
                a[i] = in.nextInt(); 
                i++; 
            } 
            if(i<5) 
                throw new ArrayIndexOutOfBoundsException(); 
            for(int j=0;j<5;j++) 
                System.out.print(a[j]+"  "); 
            System.out.println(); 
        }catch(InputMismatchException e1){ 
            System.err.println("请输入整数作为数组元素!"); 
            e1.printStackTrace(); 
        }catch(ArrayIndexOutOfBoundsException e2){ 
            System.err.println("请输入5个数!"); 
            e2.printStackTrace(); 
        }finally{ 
            System.out.print("感谢使用本程序!"); 
        } 
    }