动手动脑:

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

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

3、当有多个嵌套的try…catch…finally时,要特别注意finally的执行时机。 请先阅读 EmbedFinally.java示例,再运行它,观察其输出并进行总结。

当有多层嵌套的finally时,异常在不同的层次抛出 ,在不同的位置抛出,可能会导致不同的finally语句块执行顺序。

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

答:finally语句不一定执行。

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

程序源代码:

import javax.swing.*;
public class TryAndCatch {
    public static void main(String args[]){
    try{
      String input=JOptionPane.showInputDialog("请输入分数:");
      int score=Integer.parseInt(input);
      if(score>=0&&score<60){
      JOptionPane.showMessageDialog(null,"不及格","Result",JOptionPane.PLAIN_MESSAGE);
      }
    else if(score>=60&&score<70){
      JOptionPane.showMessageDialog(null,"及格","Result",JOptionPane.PLAIN_MESSAGE);
      }
    else if(score>=70&&score<80){
      JOptionPane.showMessageDialog(null,"中","Result",JOptionPane.PLAIN_MESSAGE);
      }
    else if(score>=80&&score<90){
      JOptionPane.showMessageDialog(null,"良","Result",JOptionPane.PLAIN_MESSAGE);
      }
    else if(score>=90&&score<=100){
      JOptionPane.showMessageDialog(null,"优","Result",JOptionPane.PLAIN_MESSAGE);
      }
    else{
        JOptionPane.showMessageDialog(null,"输入超过限制!分数应为0~100之间的整数","Result",JOptionPane.PLAIN_MESSAGE);
      }
    }
    catch(Exception e)
      {
         JOptionPane.showMessageDialog(null,"输入有误!分数应为0~100之间的整数","Result",JOptionPane.PLAIN_MESSAGE);
      }

   }
}

各类运行情况截图:

posted on 2015-11-15 19:44  等不到天亮等时光。  阅读(132)  评论(0编辑  收藏  举报