logo

慕课美学

第6章 Java单元测验

2019-10-28 Views Java 701字 4 min read

⚠️⚠️⚠️ 注意,单元测验题目顺序不会发生变化,但答案选项顺序会发生变化,因此正确答案显示答案内容而非选项 ⚠️

  1. 单选(2分)有以下程序源代码

    public class TestException
    {
        public static double calculateArea(double a, double b, double c)
        {
                double p = (a+b+c)/2;
                return Math.sqrt(p*(p-a)*(p-b)*(p-c));
        }
        public static void main(String[] args)
        {
                double a = Double.parseDouble(args[0]);
                double b = Double.parseDouble(args[1]);
                double c = Double.parseDouble(args[2]);
                double s = calculateArea(a, b, c);
                System.out.println("边长为"+a+","+b+","+c+"的三角形面积是"+s);
        }
    }
    

    编译源程序之后,如果运行命令是java TestException,则系统会报出( )。
    A.Exception
    B.InputMismatchException
    C.NumberFormatException
    D.ArrayIndexOutOfBoundsException
    正确答案:ArrayIndexOutOfBoundsException

  2. 单选(2分)

    Scanner reader=new Scanner(System.in);
    int a=reader.nextInt();
    

    如果从键盘上输入12w,会报出( )。
    A.Exception
    B.Error
    C.NumberFormatException
    D.InputMismatchException
    正确答案:InputMismatchException

  3. 单选(2分)有以下程序源代码:

    public class TestException
    {
        public static void main(String[] args)
        {
                double a = Double.parseDouble(args[0]);
                //省略代码
        }
    }
    

    如果从键盘上输入“apple”,会报出( )。
    A.InputMismatchException
    B.NumberFormatException
    C.Exception
    D.不会报出异常
    正确答案:NumberFormatException

  4. 判断(2分)Java提供的所有异常类的父类是Thrownable。( )
    A.✔️ B.✖️
    正确答案:✖️

  5. 判断(2分)捕获异常时,try语句块后面的若干catch块中的异常如果没有继承关系,各个catch块的先后顺序可以随意安排。( )
    A.✔️ B.✖️
    正确答案:✔️

  6. 判断(2分)有以下程序源代码:

    //假设已经有异常类TriangleMinusLengthException和TriangleUnequationException。
    public class TestSelfException
    {
            public static double calculateArea(double a, double b, double c) throws TriangleMinusLengthException, TriangleUnequationException
            {
                    if (a<0 || b<0 || c<0)
                            throw new TriangleMinusLengthException("负边长异常");
                    if (a+b<c || a+c<b || b+c<a)
                            throw new TriangleUnequationException("不满足三角不等式异常");
                    double p = (a+b+c)/2;
                    return Math.sqrt(p*(p-a)*(p-b)*(p-c));
            }
            public static void main(String[] args)
            {
                    double a = 3, b = 4, c = 5;
                    double e = -4, f = 2, g =10000;
                    try{
                                double area = calculateArea(a,b,c);
                                System.out.println("面积:" + area);
                                area = calculateArea(e, f, g);         
                            System.out.println("面积:" + area);
                    }catch(TriangleMinusLengthException me){
                            System.out.println("边长为负,请改正");
                    }catch(TriangleUnequationException ue){
                            System.out.println("边长不满足三角不等式,请改正!");
                    }
        }
    }
    

    上述语句中,红色显示的函数调用语句执行时,两个catch块都能捕获到相应的异常。( )
    A.✔️ B.✖️
    正确答案:✖️

  7. 判断(2分)finally块可以和catch块互换位置。( )
    A.✔️ B.✖️
    正确答案:✖️

  8. 填空(2分)捕获异常时,try语句块后面的若干catch块的安排要遵循( )的原则。
    正确答案:先具体后抽象

  9. 填空(2分)如果一个方法存在一个或者多个异常,在这个方法的方法体中,需要使用关键字( )声明对应的异常。
    正确答案:throw

  10. 填空(2分)异常类NumberFormatException的直接父类是( )。
    正确答案:RuntimeException
    UTOOLS1572246351159.png



本文由慕课美学创作
该文章采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。转载请注明出处!
发布时间为:2019-10-28

support支付宝扫码打赏 support微信打赏
如果觉得这篇文章对您有帮助,可以请作者喝一杯饮料哦🥤