300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 《Java语言程序设计》(基础篇原书第10版)第十二章复习题答案

《Java语言程序设计》(基础篇原书第10版)第十二章复习题答案

时间:2018-06-05 15:14:46

相关推荐

《Java语言程序设计》(基础篇原书第10版)第十二章复习题答案

第十二章

12.1:它能使方法抛出一个异常给它的调用者,并由调用者处理该异常。如果没有这个能力,那么被调用的方法就必须自己处理异常或者终止该程序。被调用的方法通常不知道在出错的情况下该做些什么,这是库方法的一般情况。库方法可以检测出错误,但是只有调用者才知道出现错误时需要做些什么。异常处理最根本的优势就是将检测错误(由被调用的方法完成)从处理错误(由调用方法完成)中分离出来。

12.2:第一条语句:System.out.println(1 / 0);会抛出异常。

12.3:将Long.MAX_VALUE加上1会超出long值的范围,但是当前的java没有把这种情况报告为例外。

12.4:出现异常时,JVM会抛出异常,如果需要捕获异常,可以编写try-catch语句。

12.5:如果value = 30,则输出结果为:

Value is too small

Continue after the catch block

如果value = 50,则输出结果为:

Continue after the catch block

12.6:输出结果为:

a)0 1

b)0

12.7:Throwable 类是所有异常类的根。所有的 Java 异常类都直接或者间接地继承自

Throwable。这些异常类可以分为三种主要类型:系统错误、异常和运行时异常。

12.8:将抛出异常名为:

a)ArithmeticException

b)IndexOutOfBoundsException

c)IndexOutOfBoundsException

d)ClassCastException

e)NullPointerException

f)No exception

12.9:声明异常的目的是告诉java运行时系统可能会出现的异常情况,可以在方法声明中使用抛出关键字声明异常,可以声明多个异常,用逗号隔开。

12.10:由于这个方法抛出 RuntimeException (免检异常)子类 rilegalArgumentException的一个实例,所以,如果不使用 try语句,这个测试程序也能编译。如果方法抛出 RuntimeException和 Error 之外的异常(即必检异常),那么此方法就必须在 try-catch 块内调用。

12.11:使用方法中抛出语句抛出异常,即throw(exceptionName),不可以在throw语句中抛出多个异常。

12.12:关键字throw是抛出异常的关键字,关键字throws是声明异常的关键字。

12.13:

1)不会执行statement3.

2)不会执行statement4,因为try语句执行完后程序就结束了。

3)会执行statement4.

12.14:显示:RuntimeException

12.15:显示:ArithmeticException

12.16:显示:RuntimeException in method()

After the method call

12.17:getMessage()在Throwable类中被定义,以返回描述异常的字符串。

12.18:若要向控制台显示跟踪信息,可以执行的操作。

12.19:没有异常发生时,try-catch 块的存在不会引起额外的系统开销。

12.20:代码修改为:

public void m(int value) throws Exception{

if(value < 40)

throw new Exception(“value is too small”);

}

12.21:

1)如果没有异常发生,会执行statement4,也会执行statement5.

2如果异常类型是 Exceptionl, 会执行 statement4,也会执行 statements5.

3如果异常不是类型 Exceptionl,会执行 statement,不会执行 statements5.

12.22:该方法是正确的,但是有一点,不要把异常处理用作简单的逻辑测试。

public static Boolean isNumeric(String token) {

for (int I = 0; I < token.length(); i++) {

if (!(token.chatAt(i) >= ‘0’&& token.chatAt(i) <= ‘9’)) {

return false;

}

}

return true;

}

12.23:

如果没有异常发生,会执行语句 statement4,也会执行语句 statement5。如果异常类型是 Exceptionl,会执行 statement4,也会执行 statement5.如果异常类型是 Exception2,会执行 statement4 ,不会执行 statement5。如果异常类型不是 Exceptionl以及 Exception2 类型的,那么会执行 statement4 ,不会执行 statement5 。

12.24:输出结果为:

java.lang.Exception: New info from methodl

at ChainedExceptionDemo.methodlfChainedExceptionDemo.java:16)

at ChainedExceptionDemo.main(ChainedExceptionDemo.java:4)

12.26:输出结果为:

Exception in method()

Exception in main

12.27:在 Windows 中目录的分隔符是反斜杠()。但是在 Java 中,反斜杠是一个特殊的

字符,应该写成 \的形式,故改为:new File(“c:\book\test.dat”);

12.28:创建一个file对象,利用file.exists()表示文件是否存在,file.delete()表示删除文件,file.renameTo(File)表示重命名文件名,使用file.length()表示获得文件的大小。

12.29:不能使用File类进行输入/输出,File类可用于获取文件的属性和操作文件;不是创建一个 File 对象就是在磁盘上创建一个文件。

12.30:创建对象 PrintWriter output = new PrintWriter(FileName);以向文件写数据。此语句可能引发异常,java迫使你编写代码来处理异常,处理它的一种方法是在方法声明中声明抛出异常。如果不调用close()方法,则可能无法正确保存数据。

12.31:输出结果为:

Amount is 32.320000 3.232000e+01

Amount is 32.3200 3.2320e+01

False

Java

12.32:

public class Test {

public static void main (String[] args) throws Exception {

try(java.io.PrintWriter output = new java.io.PrintWriter(“temp.txt”)) {

output.printf(“amount is %f %e\r\n”, 32.32, 32.32);

output.pr1ntf(“amount 1s %5.4f %5.4e\r\n, 32.32,32.32);

output.printf(”%6b\r\n",(1 > 2));

output.printf(“%6s\r\n”,“java”);

output.close();

}

}

12.33:Scanner input = new Scanner(FileName);从文件读取数据。Main方法中的语句可能会引发异常,java你迫使编写代码来处理异常,处理异常的一种方法就是在方法声明中声明抛出异常。如果不调用close()方法,则可能无法正确保存数据。

12.34如果试图对一个不存在的文件创建 Scanner,程序将会出现异常;如果试图对一个已经存在的文件创建 PrintWriter,则现有的文件内容将消失。

12.35:不同平台上的行分隔符不同,windows平台上的行分隔符是\n.

12.36:intValue = 45; doubleValue = 57.8; line = ‘’‘7’‘8’‘9’。

12.37: intValue = 45; doubleValue = 57.8; line = ‘’

12.38:创建一个URL对象,并使用行动Scanner(url.openStream())创建一个Scanner对象,用于读取URL流中的数据。

12.39:有可能包含重复的URL。假设链接1不在listOfTraverseURL中,但它可能在一个页面中出现不止一次。这样的重复链接1将添加到listOfPendingURL中。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。