事件处理程序
1. 编写一个类ExceptionTest,在main方法中使用try-catch-finally语句结构实现:
² 在try语句块中,编写两个数相除操作,相除的两个操作数要求程序运行时用户输入;
² 在catch语句块中,捕获被0除所产生的异常,并输出异常信息;
² 在finally语句块中,输出一条语句。
package aaa; 2 import java.rmi.MarshalException; 3 import java.util.*; 4 5 public class ExceptionTest { 6 static int avg(int a,int b) throws MarshalException{ 7 if (b==0){ 8 throw new MarshalException("除数不能为0"); 9 } 10 return a/b; 11 12 } 13 14 public static void main(String[] args) { 15 16 17 try{ 18 Scanner sc = new Scanner (System.in); 19 int a,b,c; 20 System.out.println("请输入除数与被除数:"); 21 a = sc.nextInt(); 22 b = sc.nextInt(); 23 int result = avg (a,b); 24 c = a/b; 25 System.out.println("计算结果为:"+c); 26 27 } 28 catch(MarshalException e){ 29 System.out.println(e.getMessage()); 30 } 31 finally{ 32 System.out.println("运行结束。"); 33 } 34 35 } 36 37 }
1. 编写一个应用程序,要求从键盘输入一个double型的圆的半径,计算并输出其面积。测试当输入的数据不是double型数据(如字符串“abc”)会产生什么结果,怎样处理。
package bbb;
2 import java.rmi.MarshalException;
3 import java.util.*;
4 public class Area {
5 public static void main(String[] args) {
6 final double PI=3.14159;
7
8 try{
9 Scanner sc = new Scanner (System.in);
10 double r,s;
11 System.out.println("请输入园的半径");
12 r = sc.nextInt();
13 s = PI*r*r;
14 System.out.println("计算结果为:"+s);
15
16 }
17 catch(Exception e){
18 System.out.println("输入数据格式不正确");
19 }
20 finally{
21 System.out.println("运行结束。");
22 }
23
24
25
26
27 }
28
29 }
复制代码