博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA 多态和异常处理作业——动手动脑以及课后实验性问题
阅读量:5085 次
发布时间:2019-06-13

本文共 3168 字,大约阅读时间需要 10 分钟。

1、  阅读以下代码(CatchWho.java),写出程序运行结果:

1)  源代码

public class CatchWho

{

    public static void main(String[] args)

    {

        try

        {

            try

            {

                throw new ArrayIndexOutOfBoundsException();

            }

            catch(ArrayIndexOutOfBoundsException e)

            {

               System.out.println(  "ArrayIndexOutOfBoundsException" +  "/内层try-catch");

            }

            throw new ArithmeticException();

        }

        catch(ArithmeticException e)

        {

            System.out.println("发生ArithmeticException");

        }

        catch(ArrayIndexOutOfBoundsException e)

        {

           System.out.println(  "ArrayIndexOutOfBoundsException" + "/外层try-catch");

        }

    }

}

2)  运行结果

1、  写出CatchWho2.java程序运行的结果

1、1)源代码

public class CatchWho2

{

    public static void main(String[] args)

    {

        try

        {

            try

            {

                throw new ArrayIndexOutOfBoundsException();

            }

            catch(ArithmeticException e)

            {

                System.out.println( "ArrayIndexOutOfBoundsException" + "/内层try-catch");

            }

            throw new ArithmeticException();

        }

        catch(ArithmeticException e)

        {

            System.out.println("发生ArithmeticException");

        }

        catch(ArrayIndexOutOfBoundsException e)

        {

            System.out.println( "ArrayIndexOutOfBoundsException" + "/外层try-catch");

        }

    }

}

1)  运行结果

3、请先阅读 EmbedFinally.java示例,再运行它,观察其输出并进行总结。

1)源代码

 

public class EmbededFinally

{

    public static void main(String args[])

    {

        int result;    

        try

        {

            System.out.println("in Level 1");

            try

            {

                System.out.println("in Level 2");// result=100/0;  //Level 2

                try

                {

                    System.out.println("in Level 3"); 

                    result=100/0;  //Level 3

                }

                catch (Exception e)

                {

                    System.out.println("Level 3:" + e.getClass().toString());

                }

                finally

                {

                    System.out.println("In Level 3 finally");

                }

                // result=100/0;  //Level 2         

            }

            catch (Exception e)

            {

                System.out.println("Level 2:" + e.getClass().toString());

            }

            finally

            {

                System.out.println("In Level 2 finally");

            }

            // result = 100 / 0;  //level 1

        }

        catch (Exception e)

        {

            System.out.println("Level 1:" + e.getClass().toString());

        }

        finally

        {

            System.out.println("In Level 1 finally");

        }

    }

}

2)运行结果

1)  总结

先执行try语句,有catch执行,最后执行finally语句。

4、辨析:finally语句块一定会执行吗?请通过 SystemExitAndFinally.java示例程序回答上述问题

    1)源代码

public class SystemExitAndFinally {

 

    public static void main(String[] args)

    {

        try{

 

            System.out.println("in main");

            throw new Exception("Exception is thrown in main");

            //System.exit(0);

 

        }

        catch(Exception e)

        {

            System.out.println(e.getMessage());

            System.exit(0);

        }

        finally

        {

            System.out.println("in finally");

        }

    }

 

}

2)运行结果

3)总结

Finally语句不一定执行,在catch语句中,有exit(0)语句即退出。要看具体情况,catch语句的处理。

 

5、编写一个程序,此程序在运行时要求用户输入一个整数,代表某门课的考试成绩,程序接着给出“不及格”、“及格”、“中”、“良”、“优”的结论。要求程序必须具备足够的健壮性,不管用户输入什么样的内容,都不会崩溃。

1)源代码

import java.io.*;

public class Grade {

 

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        String a = null;

        int g;

        BufferedReader strin =new BufferedReader(new InputStreamReader(System.in));

        try

        {

            System.out.println("请输入成绩(整数): ");

            a =  strin.readLine();

        }

        catch(Exception e)

        {

             System.out.println(e.getMessage());

        }

        try

        {

            g = Integer.parseInt(a);

            if(g<=100&&g>=90)

                System.out.println("优秀");

            else if(g>=80&&g<90)

                System.out.println("良好");

            else if(g>=70&&g<80)

                System.out.println("中");

            else if(g>=60&&g<70)

                System.out.println("及格");

            else if(g<60)

                System.out.println("不及格");

            else

                System.out.println("分值错误");

        }

        catch(NumberFormatException e)

        {

            System.out.println("输入错误");

        }

   

    }

 

}

2)运行结果

转载于:https://www.cnblogs.com/justmaomao/p/4963399.html

你可能感兴趣的文章
页面中公用的全选按钮,单选按钮组件的编写
查看>>
java笔记--用ThreadLocal管理线程,Callable<V>接口实现有返回值的线程
查看>>
BZOJ 1047 HAOI2007 理想的正方形 单调队列
查看>>
各种语言推断是否是手机设备
查看>>
这个看起来有点简单!--------实验吧
查看>>
PHP count down
查看>>
JVM参数调优:Eclipse启动实践
查看>>
(旧笔记搬家)struts.xml中单独页面跳转的配置
查看>>
不定期周末福利:数据结构与算法学习书单
查看>>
strlen函数
查看>>
python的列表与shell的数组
查看>>
关于TFS2010使用常见问题
查看>>
软件工程团队作业3
查看>>
python标准库——queue模块 的queue类(单向队列)
查看>>
火狐、谷歌、IE关于document.body.scrollTop和document.documentElement.scrollTop 以及值为0的问题...
查看>>
深入理解JVM读书笔记--字节码执行引擎
查看>>
vue-搜索功能-实时监听搜索框的输入,N毫秒请求一次数据
查看>>
批处理 windows 服务的安装与卸载
查看>>
React文档翻译 (快速入门)
查看>>
nodejs fs路径
查看>>