Java语言程序设计 第2版 (郑莉)课后习题答案(4)

2019-06-17 19:53

import java.io.*; public class Keyboard{

static BufferedReader inputStream =new BufferedReader(new InputStreamReader(System.in)); public static int getInteger(){ try{

return(Integer.valueOf(inputStream.readLine().trim()).intValue());

}catch(Exception e){ e.printStackTrace(); return 0; } }

public static String getString(){ try{

return(inputStream.readLine()); }catch(IOException e){ return\; } }

public static float getFloat(){ String s=\; try{

BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); s=in.readLine();

return(Float.parseFloat(s)); }

catch(IOException e) {

System.out.println(\输入非法!\); return(0.0f); } } }

运行结果:

7.什么是异常?解释抛出、捕获的含义。

答:异常又称为例外,是特殊的运行错误对象,在程序中可以强制编译器来处理程序运行中的发生的并非由程序本身所造成的错误;

抛出异常:把生成异常对象并提交的过程称为抛出异常;

抛出异常是java中一个程序处理动作,检查异常时要么在方法中声明一个异常抛出,用try-catch语句捕获异常,并进行处理。

8.简述Java的异常处理机制。

答:java中声明了很多异常类,每个异常类都代表了一种运行错误,类中包含了该运行错误的信息和处理错误的方法等内容。每当java程序运行过程中发生一个可识别的运行错误时,即该错误有一个异常类与之相对应时,系统都会产生一个相应的该异常类的对象,即产生一个异常。一旦一个异常对象产生了,系统中就一定有相应的机制来处理它,确保不会产生死机、死循环或其他对操作系统的损害,从而保证了整个程序运行的安全性。

9.系统定义的异常与用户自定义的异常有何不同?如何使用这两类异常?

答:系统定义的特定情况出现的问题,而此时用来对可能遇到的问题进行处理。用户定义的是自己觉得可能会出现问题时,需要处理的。这样避免程序中断或是出现未知错误。 系统异常有两种一种是运行时异常,一种是普通异常,普通异常要求用户捕获或者抛出的,不补货或者抛出就会编译不通过。运行时异常编译可以通过,但是运行时才显露出来。

10.用户如何自定义异常?编程实现一个用户自定义异常。 (1)定义mytest import java.io.*; public class mytest{

private static int quotient(int number,int denominator)throws DivideByZeroException{

if(denominator==0)

throw new DivideByZeroException(); return(number/denominator); }

public static void main(String args[]){ int number1=0,number2=0, result=0; try{

System.out.println(\输入第一个数字:\

number1=Integer.valueOf(Keyboard.getString()).intValue(); System.out.println(\输入第二个数字:\

number2=Integer.valueOf(Keyboard.getString()).intValue(); result=quotient(number1,number2); }

catch(NumberFormatException e){ System.out.println(e.toString()); System.exit(-1); }

System.out.println(number1+\} }

(2)定义DivideByZeroException

public class DivideByZeroException extends ArithmeticException{ public DivideByZeroException(){ super(\除数不能为0!\} }

(3)定义Keyboard import java.io.*; public class Keyboard{

static BufferedReader inputStream=new BufferedReader(new InputStreamReader(System.in)); public static int getInteger(){ try{

return (Integer.valueOf(inputStream.readLine().trim()).intValue());


Java语言程序设计 第2版 (郑莉)课后习题答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:京沪高速铁路牵引供电

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: