问答题 【说明】本程序实现功能:读入两个整数,第1个数除以第2个数,声明当除数为零时抛出异常类DivideByZeroException。 public class DivideByZeroException{{U}} (1) {{/U}}{ public DivideByZeroException ( ) { super("Attcmpted to divide by zero"); } } import java.io. *; public class Example { private static int quotient(int numerator, in)/”}t denominator) throws DivideByZeroException { if (denominator==0) throw{{U}} (2) {{/U}}; return(numerator / denominator); } public static void main(String args[]) { int number1=0, number2=0, result0; try{ System.out.print1n("Enter the first number:"); number1 = Integer. valueOf(Keyboard.getString()).intValue(); System.out.print1n("Enter the second number:"); number2 = Integer. Va1ueOf(Keyboard.getString()).intValue(); result = quotient(number1,number2); } catch (NumberFormatException e) { System.out.print1n("Invalid integer entered!"); System. exit(-1); } catch ({{U}} (3) {{/U}}) { System.out.print1n(e.to String()); System.exit(-1); } Systcm.out.pfint1n(number1 + "/" + number2 + "=" + result); } } 其中, Keyboard类的声明为: import java.io.*; public class Keyboard{ static BufferedReader inputStream ={{U}} (4) {{/U}} (new InputStreamReader(System.in)); public static int getInteger() { try( return (Intoger.valueOf(inputStream.readLine().trim()).intValue()); } catch (Exception e) { e.printStackTrace(); return 0; } } public static String getString() { try{ return (inputStream.readLine()); } catch ({{U}} (5) {{/U}}) { return "0";} } }
【正确答案】
【答案解析】[解析] (1)extends ArithmeticException DivideByZeroException类从ArithmeticException类扩展而来。 (2)new DivideByZeroExeeption() throw一个DivideByZeroException异常函数,打印错误信息。 (3)DivideByZeroException e 捕捉DivideByZeroExeeption异常信息。 (4)new BufferedReader 动态生成一个BufferedReader对象用于输入。 (5)IOException e 字符串成员函数getString中捕捉输入输出异常信息。