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)运行结果

JAVA 多态和异常处理作业——动手动脑以及课后实验性问题的更多相关文章

  1. JAVA 接口与继承作业——动手动脑以及课后实验性问题

    一.继承条件下的构造方法调用 运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个构 ...

  2. JAVA类与对象作业——动手动脑以及课后实验性问题

    一: 1.源代码 //MAO2015.10.6 //foo class Foo { int value; public Foo(int initValue) { value = initValue; ...

  3. JAVA 数组作业——动手动脑以及课后实验性问题

    JAVA课后作业——动手动脑 一:阅读并运行示例PassArray.java,观察并分析程序输出的结果,小结,然后与下页幻灯片所讲的内容进行对照. 1.源代码 // PassArray.java // ...

  4. JAVA语法基础作业——动手动脑以及课后实验性问题 (八)

    一.动手动脑 运行AboutException.java示例,了解Java中实现异常处理的基础知识. 1)源代码 import javax.swing.*; class AboutException ...

  5. JAVA String作业——动手动脑以及课后实验性问题

    一:如何解释这样的输出结果?从中你能总结出什么?1.源码 //mao2015.10.20 //==的两个分辨 //对原始数据而言 //对引用类型变量 public class StringPool { ...

  6. 2019-9-16 java上课知识整理总结(动手动脑,课后实验)

    java上课知识整理总结(动手动脑,课后实验) 一,课堂测试 1,题目:课堂测试:像二柱子那样,花二十分钟写一个能自动生成30道小学四则运算题目的 “软件” 要求:(1)题目避免重复: (2)可定制( ...

  7. Java(异常处理)动手动脑

    1>请阅读并运行AboutException.java示例,然后通过后面的几页PPT了解Java中实现异常处理的基础知识. import javax.swing.*; class AboutEx ...

  8. java动手动脑和课后实验型问题String类型

    1.请运行以下示例代码StringPool.java,查看其输出结果.如何解释这样的输出结果?从中你能总结出什么? true true false 总结: 使用new关键字创建字符串对象时, 每次申请 ...

  9. JAVA09异常处理之动手动脑问题

    动手动脑1:为什么不管是否有异常发生,finally语句块中的语句始终保证被执行? 我们在写代码时,如果finally块中的代码过多会导致字节码条数"膨胀",因为finally中的 ...

随机推荐

  1. 【转载】前端面试“http全过程”将所有HTTP相关知识抛出来了...

    原文:前端面试“http全过程”将所有HTTP相关知识抛出来了... 来一篇串通,一个http全过程的问题,把所有HTTP相关知识点都带过一遍 http全过程 输入域名(url)-->DNS映射 ...

  2. sql语句中的注释符号

    sql语句中的注释符号     mysql # 到该行结束.-- 到该行结束 以及 的注释方格:mysql> SELECT 1+1;     # 这个注释直到该行结束mysql> SELE ...

  3. XML学习笔记(二)-- DTD格式规范

    标签(空格分隔): 学习笔记 XML的一个主要目的是允许应用程序之间自由交换结构化的数据,因此要求XML文档具有一致的结构.业务逻辑和规则.可以定义一种模式来定义XML文档的结构,并借此验证XML文档 ...

  4. How to crack interviews ...

    Code practice: Leetcode: www.leetcode.com HackerRank: www.hackerrank.com Topcoder: https://www.topco ...

  5. 百度之星Astar2016 Round2A

    All X 等比数列求和一下 A/B MOD C = A MOD (B*C) / B  或者分治一下 Sitting in Line 状压+拓扑dp dp(i, j)表示当前二进制状态为j,当前状态的 ...

  6. JavaWeb学习总结(十)--JDBC之MySQL大数据

    一.基本概念 大数据也称之为LOB(Large Objects),LOB又分为:clob和blob,clob用于存储大文本,blob用于存储二进制数据,例如图像.声音.二进制文等. 但是,在mysql ...

  7. ORA-32004 参数设置过时的解决办法

    启动时报错: 查看日志: view /opt/oracle11g/app/db/diag/rdbms/yldev/yldev/trace/alert_yldev.log 原来是plsql_debug ...

  8. 认识Service

    Service相对于Activity可在后台运行,五显示界面,在activity退出的情况下仍能运行. 一.新建一个空的工程,命名为learnService 二.新建一个service,并添加如下所示 ...

  9. hdu 1058 Humble Numbers

    这题应该是用dp来做的吧,但一时不想思考了,写了个很暴力的,类似模拟打表,然后排序即可,要注意的是输出的格式,在这里wa了一发,看了别人的代码才知道哪些情况没考虑到. #include<cstd ...

  10. go分页

    简单的beego分页功能代码 一个简单的beego分页小插件(源代码在最下面): 支持条件查询 支持参数保留 支持自定义css样式 支持表/视图 支持参数自定义 默认为pno 支持定义生成链接的个数 ...