• 原创美文
  • 经典文章
  • 情感美文
  • 伤感文章
  • 散文
  • 美文随笔
  • 感人文章
  • 人生哲理
  • 学生美文
  • 民族文化
  • 说说大全
  • 网名大全
  • 范文大全
  • 当前位置: 佩佩美文网 > 经典文章 > 正文

    [[Java语言程序设计基础教程]习题解答]

    时间:2019-07-11 08:31:15来源:佩佩美文网 本文已影响 佩佩美文网手机站
    -->

    《Java 语言程序设计基础教程》

    练习思考题参考答案

    第1章 Java程序设计概述

    1.9 练习思考题

    1、 Java 运行平台包括三个版本,请选择正确的三项:( )

    A. J2EE B. J2ME

    C. J2SE D. J2E

    解答:A ,B ,C

    2、 Java JDK中反编译工具是:( )

    A. javac B. java

    C. jdb D. javap

    解答:D

    3、 public static void main方法的参数描述是:( )

    A. String args[] B. String[] args

    C. Strings args[] D. String args

    解答:A ,B

    4、 在Java 中,关于CLASSPATH 环境变量的说法不正确的是:( )

    A. CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。

    B. 编译器用它来搜索各自的类文件。

    C. CLASSPATH是一个目录列表。

    D. 解释器用它来搜索各自的类文件。

    解答:A

    5、 编译Java Application源文件将产生相应的字节码文件,扩展名为( )

    A. .java B. .class

    C. .html D. .exe

    解答:B

    6、 开发与运行Java 程序需要经过的三个主要步骤为____________、____________和____________。

    7、 如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet ,则类MyApplet 必须是______类的子类并且存储该源程序文件的文件名为______。

    8、 如果一个Java Applet 程序文件中定义有3个类,则使用Sun 公司的JDK 编译器 编译该源程序文件将产生______个文件名与类名相同而扩展名为______的字节码文件。

    9、 开发与运行Java 程序需要经过哪些主要步骤和过程?

    10、Java 程序是由什么组成的?一个程序中必须要有public 类吗?Java 源文件的命名规则是怎么样的?

    11、编写一个简单的Java 应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java ”和“We are students”。

    2

    第2章 Java基本的程序设计结构

    2.7练习思考题

    1、 从下面选项中,选择三个有效的标示符:( )

    A. IDoLikeTheLongNameClass B. $byte

    C. const D. _ok

    E. 3_case

    解答:A ,B ,D

    2、 下面哪一项在java 中是非法的标识符?( )

    A. $user

    B. point

    C. You&me

    D. _endline

    解答:C

    3、 下列不属于Java 保留字的是:( )

    A. sizeof

    B. super

    C. abstract

    D. break

    解答:A

    4、 下面哪些java 语句会导致无限循环?( )

    I 、 while (true) i = 0;

    II 、 while (false) i = 1;

    III 、while (!false) i = 0;

    A 、仅仅III

    B 、I 和III

    C 、仅仅I

    D 、I, II 和III

    解答:B

    5、 下列整型数据类型中,需要内存空间最少的是 (

    A. short B. long

    C. int D. byte

    解答:D

    6、 下面代码执行后,正确的输出结果是:( )

    public class Example {

    public static void main(String args[]) {

    ) 。 3

    int l = 0;

    do {

    System.out.println("Doing it for l is:" + l);

    } while (--l > 0);

    System.out.println("Finish");

    }

    }

    A. Doing it for l is 3

    B. Doing it for l is 1

    C. Doing it for l is 2

    D. Doing it for l is 0

    E. Doing it for l is ?C1

    F. Finish

    解答:D ,F

    7、 若有定义 int a=1,b=2; 那么表达式(a++)+(++b) 的值是:( )

    A. 3 B. 4

    C. 5 D. 6

    解答:B

    8、 若有定义 int a=9,b=6; 那么a>b的值是:( )

    A. 0 B. 1

    C. false D. true

    解答:D

    9、 假定有变量定义: int k=7,x=12; 那么能使值为3的表达式是:( )

    A. x%=(k%=5) B. x%=(k-k%5)

    C. x%=k-k%5 D. (x%=k)-(k%=5)

    解答:D

    10、执行完以下代码int[ ] x = new int[25];后,以下说明正确的是:( )

    A. x[24]为0 B. x[24]未定义

    C. x[25]为0 D. x[0]为空

    解答:A

    11、Java 应用程序的main 方法中有以下语句,则输出的结果是( )。

    int[] x={2,3,-8,7,9};

    int max=x[0];

    for(int i=1;i

    if(x[i]>max)

    max=x[i];

    }

    System.out.println(max);

    A. 2 B. -8

    4

    C. 7 D. 9

    解答:D

    12、设 x = 1 , y = 2 , z = 3,则表达式 y +=z --/++x 的值是( )

    A. 3 B. 3.5

    C. 4 D. 5

    解答:A

    13、有整型数组:int[] x={2,33,88,5,10};,则调用方法 Arrays.sort(x) 后,数组x 中的元素值依次是?( )

    A. 88 33 10 5 2

    B. 2 5 10 33 88

    C. 88 10 2 33 5

    D. 5 33 2 10 88

    解答:B

    14、下列语句有错误的是:( )

    A. int []a; B. int []b=new int[10];

    C. int c[]=new int[]; D. int d[]=null;

    解答:C

    15、下列语句有错误的是:( )

    A. int a[][]=new int[5][5]; B . int [][]b=new int[5][5];

    C. int []c[]=new int[5][5]; D. int [][]d=new int[5,5];

    解答:D

    16、关于下面的程序,正确的结论是______。

    public class ex4_7{

    public static void main(String args[]){

    int a[]=new int[5];

    boolean b[]=new boolean[5];

    System.out.print(a[1]);

    System.out.println(b[2]);

    }

    }

    A. 运行结果为0false B. 运行结果为1true

    C. 程序无法通过编译 D. 可以通过编译但结果不确定

    解答:A

    17、在Java 的基本数据类型中,char 型采用Unicode 编码方案,每个Unicode 码占用______字节内存空间,这样,无论是中文字符还是英文字符,都是占用______字节内存空间。

    18、设 x = 2 ,则表达式 ( x + + )/3 的值是______。

    19、若x = 5,y = 10,则x = y的逻辑值分别为______和______。

    20、设有数组定义:

    5

    int MyIntArray[] = { 10, 20, 30, 40, 50, 60, 70 };

    则执行以下几个语句后的输出结果是: 。

    int MyIntArray[] = { 10, 20, 30, 40, 50, 60, 70 };

    int s = 0;

    for (int i = 0; i

    if (i % 2 == 1)

    s += MyIntArray[i];

    System.out.println(s);

    21、数组对象的长度在数组对象创建之后,就______改变。数组元素的下标总是从______开始。

    22、对于数组int[][]t={{1,2,3},{4,5,6}}来说,t.length 等于______,t[0].length等于______。

    23、已知数组a 的定义为“int a[]={1,2,3,4,5};”,则a[2]=______,数组b 的定义为“int b[]=new int[5];”,则b[2]=______,数组c 的定义为“Object []c=new Object[5];”,则c[2]=______。

    24、调用数组元素时,用______和______来唯一确定数组中的元素。

    25、什么是数组?数组有哪些特点?Java 中创建数组需要哪些步骤?如何访问数组的第一个元素?

    26、编程计算10~20的整数的平方值,将结果保存在一个数组中。

    27、编写一个程序使之从键盘读入10个整数存入整型数组a 中,然后逆序输出这10个整数。

    28、某人有5张3分和4张5分的邮票,请编写一个程序,计算由这些邮票中的1张或若干张可以得到多少种不同的邮资。

    29、分析写出下列程序完成的功能。

    public class sun {

    public static void main(String args[]) {

    double sum = 0.0;

    for (int i = 1; i

    sum += 1.0 / (double) i;

    System.out.println("sum=" + sum);

    }

    }

    30、编写一个字符界面的Java Application程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。

    31、如果我国经济以每年10%的速度保持稳定增长,请编写一个程序,计算每年达到多少,多少年可以实现总量翻两番。

    class exA4_1{

    public static void main(String args[]){

    int a=0;

    double i=0.10,sum=1;

    6

    while(sum

    sum=(i+1)*sum;

    a++;

    System.out.println("第"+a+"年达到"+sum);

    }

    System.out.println("需要"+a+"年实现两番");

    }

    }

    7

    第3章 类和对象

    3.9 练习思考题

    1、 下列关于变量的叙述哪个是错的?( )

    A. 实例变量是类的成员变量。

    B. 在方法中定义的局部变量在该方法被执行时创建。

    C. 实例变量用关键字static 声明。

    D. 局部变量在使用前必须被初始化。

    解答:C

    2、 在Java 语言中,下列哪个包是编译器自动导入的?( )

    A. java.applet B. java.lang

    C. java.io D. java.awt

    解答:B

    3、 当类的成员未用访问权限修饰符时,Java 认为此成员的访问权限为( )。

    A. private B. protected

    C.friendly D.public

    解答:C

    4、 下面哪个关键字不是用来控制对类成员的访问的?( )

    A. public B. protected

    C. default D. private

    解答:C

    5、 下面哪一个特性不是面向对象编程主要体现的( )。

    A. 封装性 B. 继承

    C. 多态 D. 类

    解答:C

    6、 不允许作为类及类成员的访问控制符的是( )。

    A. public B. private

    C. static D. protected

    解答:C

    7、 为AB 类的一个无形式参数无返回值的方法method 书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为( )。

    A 、 static void method( ) B 、 public void method( )

    C 、 final void method( ) D 、 abstract void method( )

    解答:A

    8、 可以在下面代码段point x处写入的是?( )

    //point x

    8

    public class Interesting{

    //do something

    }

    A. String str;

    B. static int PI=3.14;

    C. public class MyClass{//do other thing…}

    D. import java.awt.*;

    解答:D

    9、 下列关于变量的叙述哪个是错的?( )

    A 、实例变量是类的成员变量。

    B 、在方法中定义的局部变量在该方法被执行时创建。

    C 、实例变量用关键字static 声明。

    D 、局部变量在使用前必须被初始化。

    解答:C

    10、下列哪个类声明是正确的?( )

    A 、abstract final class HI{}

    B 、abstract private move(){}

    C 、protected private number;

    D 、public abstract class Car{}

    解答:D

    11、已知A 类被打包在packageA , B类被打包在packageB ,且B 类被声明为public ,且有一个成员变量x 被声明为protected 控制方式 。C 类也位于packageA 包,且继承了B 类 。则以下说法正确的是:( )

    A 、A 类的实例不能访问到B 类的实例

    B 、A 类的实例能够访问到B 类一个实例的x 成员

    C 、C 类的实例可以访问到B 类一个实例的x 成员

    D 、C 类的实例不能访问到B 类的实例

    解答:C

    12、下列命题为真的是:( )

    A 、所有类都必须定义一个构造函数。

    B 、构造函数必须有返回值。

    C 、构造函数可以访问类的非静态成员。

    D 、构造函数必须初始化类的所有数据成员。

    解答:C

    13、在Java 中,关于final 关键字的说法正确的是( )

    A 、如果修饰变量,则一旦赋了值,就等同一个常量。

    B 、如果修饰类,则该类只能被一个子类继承。

    C 、如果修饰方法,则该方法不能在子类中被覆盖。

    D 、如果修饰方法,则该方法所在的类不能被继承。

    9

    解答:A,C

    14、在Java 中,下面关于包的陈述中正确的是( )

    A 、包的声明必须是源文件的第一句代码。

    B 、包的声明必须紧跟在import 语句的后面。

    C 、只有公共类才能放在包中。

    D 、可以将多个源文件中的类放在同一个包中。

    解答:A,D

    15、______方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。______方法是不能被当前类的子类重新定义的方法。

    16、 什么叫方法的重载? 构造方法可以重载么?

    17、 简述实例变量和类变量的区别。

    第4章 继承、接口和内部类

    4.5 练习思考题

    1、 Java 中用于定义接口的关键字是( )

    A 、import B 、package

    C 、class D 、interface

    解答:D

    2、 以下关于abstract 的说法,正确的是( )

    A 、abstract 只能修饰类

    B 、abstract 只能修饰方法

    C 、abstract 类中必须有abstract 方法

    D 、abstarct 方法所在的类必须用abstract 修饰

    解答:D

    3、 下列哪种说法是正确的( )

    A 、私有方法不能被子类覆盖。

    B 、子类可以覆盖超类中的任何方法。

    C 、覆盖方法可以声明自己抛出的异常多于那个被覆盖的方法。

    D 、覆盖方法中的参数清单必须是被覆盖方法参数清单的子集。

    10

    解答:A

    4、关于类继承的说法,正确的是( )

    A 、Java 类允许多重继承

    B 、Java 接口允许多继承

    C 、接口和类都允许多继承

    D 、接口和类都不允许多继承

    解答:B

    5、 关于抽象类,正确的是______。

    A. 抽象类中不可以有非抽象方法

    B. 某个非抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法

    C. 不能用抽象类去创建对象

    D. 接口和抽象类是同一个概念

    解答:B

    6、 下列哪个类是由编译器自动生成对象的特殊类,是用于类操作?( )

    A 、Class 类

    B 、Thread 类

    C 、System 类

    D 、Object 类

    解答:A

    7、 下面关于继承的哪些叙述是正确的。 ( )

    A 、在java 中只允许单一继承。

    B 、在java 中一个类只能实现一个接口。

    C 、在java 中一个类不能同时继承一个类和实现一个接口。

    D 、java 的单一继承使代码更可靠。

    解答:A, D

    8、 抽象类A 和抽象类B 的定义如下:

    abstract class ex4_5_10_A {

    abstract int getinfo();

    }

    public class ex4_5_10 extends ex4_5_10_A {

    private int a = 0;

    public int getinfo() {

    return a;

    }

    public static void main(String args[]) {

    ex4_5_10 b = new ex4_5_10();

    System.out.println(b.getinfo());

    }

    }

    11

    关于上述代码说明正确的是( )。

    A. 输出结果为0 B. 通过编译但没有输出任何结果

    C. 第5行不能通过编译 D. 程序第2行不能通过编译

    解答:A

    9、 下面程序的运行结果是______

    class ex4_5_11_A {

    protected static int count = 0;

    public ex4_5_11_A() {

    count++;

    }

    }

    class ex4_5_11_B extends ex4_5_11_A {

    public ex4_5_11_B() {

    count++;

    }

    }

    class ex4_5_11 {

    public static void main(String args[]) {

    ex4_5_11_B x = new ex4_5_11_B();

    System.out.println("count=" + x.count);

    }

    }

    A. count=1 B. count=2

    C. count=3 D. count=4

    解答:B

    10、设有下面两个类的定义:

    class Person

    { long id; // 身份证号

    String name; // 姓名

    }

    class Student extends Person

    { int score; // 入学总分

    int getScore(){

    return score;

    }

    }

    问:类Person 和类Student 的关系是( )

    A 、包含关系 B 、继承关系

    C 、关联关系 D 、无关系,上述类定义有语法错误

    12

    解答:B

    10、对于接口的实现,不可以构造一个接口对象,但可以声明一个接口______。

    11、 在Java 语言中所有的类都是直接或间接地继承______类而得到的。

    12、在Java 中一个父类可以有______个子类,一个类只能有______个直接父类。

    13、什么是继承?什么是多重继承和单继承?Java 采用何种机制来实现多重继承?

    14、什么是隐藏?什么是重写?二者有何区别?

    15、子类会继承父类的所有方法和属性么?

    16、设计一个Student 类,以一维数组存储一个班级的学生信息。要求:

    1)将Student 设计成一个接口

    2)自定义一个包来管理所设计的类

    17、定义一个接口,该接口中只有一个抽象方法getClassName()。设计一个类Horse ,该类实现接口ClassName 中的方法getClassName(),功能是获取该类的类名。

    基础开发篇

    第5章 Java API

    5.9练习思考题

    1、 阅读下列代码后,正确的说法是( )

    public class Person {

    static int arr[] = new int[10];

    public static void main(String args[]) {

    System.out.println(arr[1]);

    }

    }

    A 、编译时将产生错误 B 、编译时正确,运行时将产生错误

    C 、输出零 D 、输出空

    解答:C

    2、 仔细分析下面程序,正确的输出结果是( )

    public class Test1 {

    13

    public static void changeStr(String str) {

    str = "welcome";

    }

    public static void main(String[] args) {

    String str = "1234";

    changeStr(str);

    System.out.println(str);

    }

    }

    A 、welcome B 、welcome1234

    C 、1234 D 、1234welcome

    解答:C

    3、 Java 语言中的一些常用的实用工具,如处理时间的Date 类,处理变长数组的Vector 类等,所在的包是( )。

    A 、java.lang 包 B 、java.io 包

    C 、java.awt 包 D 、java.util 包

    解答:D

    4、 下面代码执行后,正确的输出结果是:( )

    String s1="You are hired!";

    System.out.println(s1.replace("h","f")); //用f 把字串中的h 替换了

    System.out.println(s1);

    A. You are fired! B. You are fired!

    You are hired! You are fired!

    C. You are hired! D. You are hired!

    You are hired! You are fired!

    解答:A

    5、下面的程序段执行后输出的结果是( )

    StringBuffer buf=new StringBuffer("China2008");

    buf.insert(5,"@");

    System.out.println(buf.toString());

    A 、China2008@

    B 、@China2008

    C 、China@2008

    D 、China#2008

    解答:C

    6、在Java 中,所有类的根类是( )。

    A 、java.lang.Object

    B 、java.lang.Class

    C 、java.applet.Applet

    14

    D 、java.awt.Frame

    解答:A

    第6章 图形用户界面设计

    6.7练习思考题

    1、 下列哪个布局管理器中的按钮位置会根据Frame 的大小改变而改变?(

    A. BorderLayout

    B. CardLayout

    C. GridLayout

    D. FlowLayout

    解答:D

    2、 下面的组件都属于容器,父类属于java.awt.Window 的容器是( )

    A 、Frame

    B 、Panel

    C 、Container

    D 、Applet

    解答:A

    3、 关于以下的组件的接口,正确的是( )

    A 、TextArea 组件可实现的接口是ActionListener

    B 、List 组件可实现的接口,除了ItemListener ,还可以是ActionListener

    C 、Choice 组件可实现的接口是ActionListener

    D 、以上都不对

    15 )

    解答:B 4、 下列哪一项是一个用于在GridLayout 中的特定区域中放置多个组件的容器? A 、Applet B 、Panel C 、Button D 、Rectangle 解答:B 5、 关于对话框(Dialog )说法错误的是?( ) A 、对话框是Window 类的子类。 B 、对话框和一般窗口的区别在于它依赖于其他窗口。 C 、对话框分为模式和非模式两种。 D 、文件对话框的构造方法:Filedialog fdlg=new FileDialog("filedialog"); 解答:D 6、 下列容器中哪一个是从java.awt.Window 继承的?( ) A 、Frame B 、Panel C 、Container D 、Applet 解答:A 7、 在Java 中,对组件可实现不同的布局,下列哪个不对( ) A 、顺序布局(FlowLayout ) B 、边界布局(BorderLayout ) C 、网络布局(GridLayout ) D 、中央布局(CenterLayout ) 解答:D 8、下面关于事件监听的说明,哪一个语句是正确的。 ( )

    A. 所有组件,都不允许附加多个监听器

    B. 如果多个监听器加在一个组件上,那么事件只会触发一个监听器

    C. 组件不允许附加多个监听器

    D. 监听器机制允许按照我们的需要,任意调用addXxxxListener 方法多次,而且没有次序区别

    解答:D

    9、 下面哪个事件监听器可以处理在文本框中输入回车键的事件______。

    A. ItemListener B. ActionListener

    C. KeyListener D. MouseListener

    解答:B

    10、Frame 类对象的默认布局是什么布局?( )。

    A 、FlowLayout 布局 B 、BorderLayout 布局

    C 、CardLayout 布局 D 、GridLayout 布局

    16

    解答:B

    11、不能添加到Container 中的是?( )

    A 、an Applet

    B 、a Component

    C 、a Container

    D 、a MenuComponent

    解答:A

    12、Panel 类对象的默认布局是什么布局?( )。

    A 、FlowLayout 布局 B 、BorderLayout 布局

    C 、CardLayout 布局 D 、GridLayout 布局

    解答:A

    13、Java 中GUI 工具包有______和______。

    14、通过调用方法______可以改变当前容器的布局方式。

    15、通过______方法向容器中添加组件。

    16、AWT 布局管理器有______、______、______、______和______。

    17、什么是GUI ?功能是什么?

    18、利用AWT 控件编写一个求解一元二次方程根的程序,要求:

    (1)具有一元二次方程三个系数a 、b 、c 的输入界面。

    (2)显示b*b-4*a*c的值。

    (3)显示求出的根。

    19、编写一个应用程序,窗口标题为“移动按钮”,窗口布局为null ,在窗口中有两个按钮,单击其中一个按钮能够让另一个按钮移动。

    20、实现窗口登陆对话框,要求输入用户名和密码,如果输入正确,弹出对话框提示正确,否则提示错误。

    17

    18

    《Java 语言程序设计基础教程》

    第7章 多线程

    7.8练习思考题

    1、 Java 语言具有许多优点和特点,下列选项中,哪个反映了Java 程序并行机制的特点?( )

    A 、安全性 B 、多线性

    C 、跨平台 D 、可移植

    解答:B

    2、 Runnable 接口中的抽象方法是( )。

    A 、start B 、stop

    C 、yield D 、run

    解答:D

    3、 有以下程序段

    class MyThread extends Thread {

    public static void main(String args[]) {

    MyThread t = new MyThread();

    MyThread s = new MyThread();

    t.start();

    System.out.print("one.");

    s.start();

    18

    《Java 语言程序设计基础教程》 19

    System.out.print("two.");

    }

    public void run() {

    System.out.print("Thread");

    }

    }

    则下面正确的选项是( )

    A 、编译失败

    B 、程序运行结果为:one.Threadtwo.Thread

    C 、程序运行结果是:one.two.ThreaThread

    D 、程序运行结果不确定

    解答:D

    4、 下列方法中可以用来创建一个新线程的是( )

    A 、实现java.lang.Runnable 接口并重写start()方法。

    B 、实现java.lang.Runnable 接口并重写run()方法。

    C 、继承java.lang.Thread 类并重写run ()方法。

    D 、实现java.lang.Thread 类并实现start()方法。

    解答:B

    5、 作为类中新线程的开始点,线程的执行是从下面哪个方法开始的。( )

    A 、public void start()

    B 、public void run()

    C 、public void int()

    D 、public static void main(String args[])

    解答:A

    6、 创建一个新线程的方法,可以使用下面哪2种 ( )

    A 、继承java.lang.Thread 类,并且重载run 方法。

    B 、继承java.lang.Runnable 类,并且重载start 方法。

    C 、实现java.lang.thread 类,实现run 方法。

    D 、实现java.lang.Runnable 接口,实现run 方法。

    E 、实现java.lang.Thread 类,实现start 方法。

    解答:A,D

    7、 线程有几种状态?

    8、 引起线程中断的常见原因是什么?

    9、 一个线程执行完run()方法后,进入了什么状态?该线程还能再调用start()方法么?

    10、线程在什么状态时,调用isAlive()方法返回的值是false 。

    11、建立线程有几种方法?

    12、怎样设置线程的优先级?

    13、线程在它的一个完整的生命周期中通常要经历哪几种状态?写出这些种状态并加以说明。

    19

    20

    《Java 语言程序设计基础教程》

    第8章 文件和流

    8.7练习思考题

    1、 创建一个向文件“file.txt ”追加内容的输出流对象的语句是( )。

    A. OutputStream out=new FileOutputStream(“file.txt”);

    B. OutputStream out=new FileOutputStream(“file.txt”, “append”);

    C. FileOutputStream out=new FileOutputStream(“file.txt”, true);

    D. FileOutputStream out=new FileOutputStream(new file(“file.txt”));

    E. OutputStream out=new FileOutputStream(new File(“file.txt”)true);

    解答:C,E

    2、 下面类中,属于过滤流FilterInputStream 的子类的是( )。

    A 、DataInputStream B 、DataOutputStream

    C 、PrintStream D 、BufferedOutputStream

    解答:A

    3、 FileInputStream 流的read 方法和FileRead 流的read 方法有何不同?

    4、 BufferedReader 流能直接指向一个文件对象吗?

    5、 请编写一个程序,开启一个文本文件,一次读取其内的一行文本,令每行形成一个String ,并将读出的String 对象置于LinkedList 中,以反相次序显示出LinkedList 内的所有内容。

    import java.io.*;

    import java.util.*;

    class exA4_2{

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

    20

    《Java 语言程序设计基础教程》

    LinkedList lines=new LinkedList();

    BufferedReader in=

    new BufferedReader(new FileReader("exA4_2.java"));

    String s;

    while((s=in.readLine())!=null)

    lines.add(s);

    in.close();

    ListIterator it=lines.listIterator(lines.size());

    while(it.hasPrevious())

    System.out.println(it.previous());

    }

    } 21

    21

    22

    《Java 语言程序设计基础教程》

    第9章 异常处理

    9.4 练习思考题

    1、 为了捕获一个异常,代码必须放在下面( )语句块中。

    A 、try 块 B 、catch 块

    C 、throws 块 D 、finally 块

    解答:A

    2、 下列常见的系统定义的异常中,有可能是网络原因导致的异常是( )。

    A 、ClassNotFoundException B 、IOException

    C 、FileNotFoundException D 、UnknownHostException

    解答:D

    3、 下列常见的系统定义的异常中,哪个是输入、输出异常? ( )

    A 、ClassNotFoundException

    B 、IOException

    C 、FileNotFoundException

    D 、UnknownHostException

    解答:B

    4、 在代码中,使用catch(Exception e)的好处是 ( )

    A 、只会捕获个别类型的异常

    B 、捕获try 块中产生的所有类型的异常

    C 、忽略一些异常

    D 、执行一些程序

    解答:B

    5、 异常包含下列那一个内容? ( )

    A 、程序中的语法错误

    B 、程序的编译错误

    C 、程序执行过程中遇到的事先没有预料到的情况

    D 、程序事先定义好的可能出现的意外情况

    解答:C

    7、 编写一个异常类MyException ,再编写一个类Student ,该类有一个产生异常的方法public void speak(int m) throws MyException,要求参数m 的值大于1000时,方法抛出一个MyException 对象。最后编写主类,在主类的main 方法中用Student 创建一个对象,让该对象调用speak 方法。

    22

    《Java 语言程序设计基础教程》 23

    23

    • [[Java语言程序设计基础教程]习题解答] 相关文章: