加载中…
个人资料
holy37
holy37
  • 博客等级:
  • 博客积分:0
  • 博客访问:1,660
  • 关注人气:47
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

《Java程序设计教程》习题及参考答案3

(2010-12-26 22:29:20)
标签:

it

分类: IT
第5章    Java标准类库
习  题 

一、简答题
1.计算调用下列方法的结果。
Math.sqrt(4);                     // 2.0
Math.pow(4, 3);                  // 64.0
Math.max(2, Math.min(3, 4));       // 3

2.下列程序中构造了一个set并且调用其方法add(),输出结果是(   )。
import java.util.*;
public class T1_2 {
        public int hashCode() {
            return 1;
        }
        public boolean equals(Object b) {
            return true;
        }
        public static void main(String args[]) {
            Set set = new HashSet();
            set.add(new T1_2());
            set.add(new String("ABC"));
            set.add(new T1_2());
            System.out.println(set.size());
        }
}

3.Collection有哪几种主要接口? (Collection、List、Map、Set)
4.基本的集合接口有哪些?
5.映射、集合和列表的含义是什么?
6.HashMap类和TreeMap类有何区别?
7.HashSet类和Treeset类有何区别?
8.ArrayList类和LinkedList类有何区别?

二、选择题
1.可实现有序对象的操作有哪些?(  CD  
A.HashMap     B.HashSet      C.TreeMap      D.LinkedList

2.迭代器接口(Iterator)所定义的方法是(  ABC   )。
A.hasNext()                B.next()
C.remove()                 D.nextElement()

3.下列方法属于java.lang.Math类的有(方法名相同即可)(  ABCD   )。
A.random()     B.abs()     C.sqrt()        D.pow()

◆◆◆ 4.指出正确的表达式有(  ABD   )。
A.double a=2.0;        B.Double a=new Double(2.0);
C.byte A= 350;         D.Byte a = 120;

5.System类在哪个包中?(  
A.java.awt     B.java.lang   C.java.util   D.java.io

6.关于Float,下列说法正确的是(  ACD   )。
A.Float在java.lang包中       B.Float a=1.0是正确的赋值方法
C.Float是一个类             D.Float a= new Float(1.0)是正确的赋值方法

三、判断题
1.Map接口是自Collection接口继承而来。(  × )
2.集合Set是通过键-值对的方式来存储对象的。(  × 
3.Integer i = (Integer.valueOf("926")).intValue();(  √ 
4.String s = (Double.valueOf("3.1415926")).toString(); (  √ 
5.Integer I = Integer.parseInt("926");(  √ 
6.Arrays类主要对数组进行操作。(   √ )
7.在集合中元素类型必须是相同的。(  √ 
8.集合中可以包含相同的对象。(  × 
9.枚举接口定义了具有删除功能的方法。(   × )

四、编程题
1.编程生成10个1~100之间的随机数,并统计每个数出现的概率。
2.使用HashMap类保存由学号和学生姓名所组成的键-值对,比如"200709188"和"John Smith",然后按学号的自然顺序将这些键-值对一一打印出来。
3.编写一个程序,使用Map实现对学生成绩单的存储和查询,并将成绩排序存储到TreeSet中,求出平均成绩、最高分和最低分。
4.编写一个程序,实现将十进制整数转换为二进制、八进制和十六进制形式。
5.编写一个程序,在其中调用操作系统的注册表编辑器“regedit.exe”。
6.使用java.text.SimpleDateFormat类将系统日期格式化为“2007年8月20日”的形式输出。
7.编写程序实现:定义一个Float类型的数组,随机往其中填充元素,并打印该数组内容。





第6章    Java GUI程序设计
习  题 

一、填空题
1.Swing的事件处理机制包括(事件源)、事件和事件监听者。
2.Java事件处理包括建立事件源、(建立事件监听器)和将事件源注册到监听器。
3.在Swing中,可以根据不同用户的习惯,设置不同的界面显示风格,Swing提供了三种显示风格,分别是(Metal风格)风格、( Motif风格)风格和(Windows风格)风格。
4.Swing的顶层容器有(JFrame)、JApplet、JWindow和JDialog。
5.(根面板)由一个玻璃面板、一个内容面板和一个可选择的菜单条组成。

二、简答题
1.试述AWT的事件处理机制。
2.什么是Swing?它比AWT有什么优点?使用上有何区别?
3.布局管理器的作用是什么?在JDK中哪些常用布局管理器?各有何特点?
4.什么是容器组件?组件与容器有何区别?
5.试述Swing常用组件的创建与使用。

三、选择题
1.Swing组件必须添加到Swing顶层容器相关的( B )。
A.分隔板上      B.内容面板上      C.选项板上          D.复选框内

2.Panel和Applet的默认布局管理器是(  )。
A.FlowLayout    B.CardLayout       C.BorderLayout      D.GridLayout

3.容器类java.awt.Container的父类是(  )。
A.java.awt.Frame  B.java.awt.Panel    C.java.awt.Component  D.java.awt.Windows

4.哪些布局管理器使用的是组件的最佳尺寸?(  AE 
A.FlowLayout   B.BorderLayout   C.GridLayout   D.CardLayout  E.GridBagLayout

5.关于AWT和Swing说法正确的是(  CD  )。
A.Swing是AWT的子类            B.AWT在不同操作系统中显示相同的风格
C.AWT和Swing都支持事件模型    D.Swing在不同的操作系统中显示相同的风格

6.关于使用Swing的基本规则,下列说法正确的是(  )。
A.Swing组件可直接添加到顶级容器中        B.要尽量使用非Swing的重要级组件
C.Swing的Jbutton不能直接放到Frame上    D.以上说法都对

7.在Java编程中,Swing包中的组件处理事件时,下面(  )是正确的。
A.Swing包中的组件也是采用事件的委托处理模型来处理事件的
B.Swing包中的组件产生的事件类型,也都带有一个J字母,如JMouseEvent
C.Swing包中的组件也可以采用事件的传递处理机制
D.Swing包中的组件所对应的事件适配器也是带有J字母的,如JMouseAdapter

四、判断题
1.容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。(  × 
2.一个容器中可以混合使用多种布局策略。(  × 
3.在Swing用户界面的程序设计中,容器可以被添加到其他容器中去。(  √ 
4.使用BorderLayout布局管理器时,GUI组件可以按任何顺序添加到面板上。(  √ 
5.在使用BorderLayout时,最多可以放入五个组件。(  √ 
6.每个事件类对应一个事件监听器接口,每一个监听器接口都有相对应的适配器。(  × 
7.Java中,并非每个事件类都只对应一个事件。(  √ 

五、编程题
1.编写一个JApplet程序,包含一个JLabel对象,并显示用户的姓名。
2.JButton与Button有何不同?编写一个图形界面的Application程序,包含一个带图标的JButton对象。当用户单击这个按钮时,Application程序把其标题修改为“单击按钮”。
3.JPasswordField是谁的子类?它有什么特点?编写JApplet程序接受并验证用户输入的账号和密码,一共提供3次输入机会。
4.编程包含一个单选按钮组和一个普通按钮,单选按钮组中包含三个单选,文本说明分别为“普通”、“黑体”和“斜体”。选择文本标签为“普通”的单选按钮时,普通按钮中的文字为普通字体,选择文本标签为“黑体”的单选按钮时,普通按钮中文字的字体为黑体,选择文本标签为“斜体”的单选按钮时,普通按钮中文字的字体为斜体。
5.编程包含一个下拉列表和一个按钮,下拉列表中有10、14、18三个选项。选择10时,按钮中文字的字号为10,选择14时,按钮中文字的字号为14,选择18时,按钮中文字的字号为18。





第7章    Java Applet及其应用
习  题 

一、填空题
1.Applet生命周期方法有init()、( start() )、stop()和destroy()。
2.与显示相关的Applet方法有(paint() )、repaint()和update()。

二、简答题
1.init()方法在Java Applet中起什么作用?
2.Java Applet中的主要方法是哪几个?
3.Java Applet生命周期包括哪几个阶段?
4.Java Applet在安全性方面进行了哪些限制?
5.Java Applet是怎样嵌入HTML文件中的?在HTML文件中至少有哪些说明?
6.Java Applet和Application有何区别?是否可以将Java Applet改写成Java Application程序?

三、选择题
1.下列操作中,不属于Applet安全限制的是(   )。
A.与同一个页面中的Applet通信     B.加载本地库
C.运行本地可执行程序              D.读写本地文件系统

2.为了向一个Applet传递参数,可以在HTML文件的APPLET标志中使用PARAM选项。在Applet程序中获取参数时,应使用的方法是(   )。
A.getDocumentBase()   B.getParameter( )   C.getCodeBase   D.getImage()

3.下面关于Applet的说法正确的是(   )。
A.Applet能访问本地文件                B.Applet也需要main方法
C.Applet必须继承自java.awt.Applet       D.Applet程序不需要编译

4.编译Java Applet源程序文件产生的字节码文件的扩展名为(   )。
A.java       B. class       C. html      D. exe

5.在Java Applet程序用户自定义的Applet子类中,常常重载(   )方法在Applet的界面中显示文字、图形和其他界面元素。
A.start( )         B.stop( )       C.init( )         D.paint( )

6.在编写Java  Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上(   )语句。
A.import   java.awt.* ;               B.import   java.applet.* ;
C.import   java.io.* ;                D.import   java.awt.event.* ;

7.在浏览器中执行Applet 程序四个方法里最先执行的是(   )。
A.init()     B.start()     C.destroy()      D.stop()

四、判断题
1.Applet的执行离不开一定的HTML文件。(  √ 
2.Applet可以运行本地机器上的可执行程序(  × 
3.Java Applet不能够存取客户机磁盘上的文件。(  √ 
4.Applet可以运行在浏览器中。(  √ 
5.Applet的两个方法getCodeBase( )和getDocumentBase( )的返回值都是URL类的对象,且二者返回的都是相同的URL地址。(  × 
6.Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。(  √ 
7.Java Applet是由独立的解释器程序来运行的。(  × 
8.Java Applet只能在图形界面下工作。(  √ 

五、编程题
1.编写一个Java Applet程序,绘制直线、各种矩形、多边形、圆和椭圆等图形。
2.编写Applet小程序,利用Applet显示一幅图像。
3.编写Applet小程序,利用Applet连续不断地播放音乐。
4.在上述编程题2的基础上编写Applet小程序,当鼠标经过该图像时播放一个声音。


第8章    Java异常处理技术
习  题 

一、简答题
1.什么是异常?简述Java的异常处理机制。
2.系统定义的异常与用户自定义的异常有何不同?如何使用这两类异常?
3.在Java的异常处理机制中,try程序块、catch程序块和finally程序块各起到什么作用?try-catch-finally语句如何使用?
4.说明throws与throw的作用。
5.如何创建、抛出自定义异常?

二、选择题
1.请问所有的异常类皆继承哪一个类?(  
A.java.lang.Throwable          B.java.lang.Exception
C.java.lang.Error               D.java.io.Exception

2.哪个关键字可以抛出异常?(  
A.transient      B.throw     C.finally      D.catch

3.对于已经被定义过可能抛出异常的语句,在编程时(   )。
A.必须使用try/catch语句处理异常,或用throw将其抛出。
B.如果程序错误,必须使用 try/catch语句处理异常。
C.可以置之不理。
D.只能使用try/catch语句处理。

4.下面程序段的执行结果是什么?(  
  public class Foo{
   public static void main(String[] args){
    try{
      return;}
      finally{System.out.println("Finally");
     }
   }
  }
A.编译能通过,但运行时会出现一个例外。  B.程序正常运行,并输出 "Finally"。
C.程序正常运行,但不输出任何结果。 D.因为没有catch语句块,所以不能通过编译。

5.下面是一些异常类的层次关系:
       java.lang.Exception
           java.lang.RuntimeException
               java.lang.IndexOutOfBoundsException
                   java.lang.ArrayIndexOutOfBoundsException
 java.lang.StringIndexOutOfBoundsException
假设有一个方法X,能够抛出两个异常,Array Index和String Index异常,假定方法X中没有try-catch语句处理这些异常,下面哪个答案是正确的?(  A B  
A.方法X 应该声明抛弃ArrayIndexOutOfBoundsException和StringIndexOutOfBounds- Exception。
B.如果调用X的方法捕获IndexOutOfBoundsException,则ArrayIndexOutOfBounds- Exception和StringIndexOutOfBoundsException都可以被捕获。
C.如果方法X声明抛弃IndexOutOfBoundsException,则调用X的方法必须用try-catch语句捕获。
D.方法X不能声明抛弃异常。

6.下面的方法是一个不完整的方法,其中的方法unsafe()会抛出一个IOException,那么在方法的①处应加入哪条语句,才能使这个不完整的方法成为一个完整的方法?(  DE  
①  ____________________________
②  { if(unsafe())   {//do something…}
③    else  if(safe())  {//do the other…}
④  }
A.public IOException methodName()     B.public void methodName() throw IOException
C.public void methodName()        D.public void methodName() throws IOException
E.public void methodName() throws Exception

7.如果下列的方法能够正常运行,在控制台上将显示什么?(  ACD  
  public void example( ){
   try{
      unsafe();
      System.out.println("Test1");
     }
   catch(SafeException e)
     {System.out.println("Test 2");}
   finally{System.out.println("Test 3");}
   System.out.println("Test 4");
  }
A.Test 1        B. Test 2        C.Test 3        D. Test 4


三、判断题
1.捕获异常try语句后面通常跟有一个或多个catch()方法用来处理try块内生成的异常事件。(  √ 
2.使用try-catch-finally语句只能捕获一个异常。(  × 
3.try-catch语句不可以嵌套使用。(  × 
4.Error类所定义的异常是无法捕获的。(  √ 
5.IOException异常是非运行时异常,必须在程序中抛弃或捕获。(  √ 
6.用户自定义异常类是通过继承Throwable类来创建的。(  × 
7.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。(  √ )

四、程序填空
public class ServerTimedOutException extends Exception {
    private int port;
    public ServerTimedOutException(String message, int port) {
          super(message);
          this.port = port;
        }
    public int getPort() {
          return port;
}
class Client {// 在下行横线处填上声明抛弃ServerTimedOutException例外的语句
    public void connectMe(String serverName) ______________________ {
          int success;
          int portToConnect = 80;
          success = open(serverName, portToConnect);
          if (success == -1) {
            // 在下行横线处填上抛出ServerTimedOutException例外的语句
            _______________________________________
         }
    }
    private int open(String serverName, int portToConnect) {
          return 0;
    }
}



五、编程题
1.编写一个程序,从键盘读入5个整数存储在数组中,要求在程序中处理数组越界的异常。
2.编写Java Aplication,求解从命令行以参数形式读入两个数之积,若缺少操作数或运算符,则抛出自定义异常OnlyOneException与NoOperationException并退出程序。
3.编写一个简单的计算器程序,能够计算两个变量进行四则运算的结果。在计算中及时捕获各种算术异常,保证在输入各种数字的时候程序才能够计算出结果。
4.定义一个邮件地址异常类,当用户输入的邮件地址不合法时,抛出异常(其中邮件地址的合法格式为**** @****,也就是说必须是在@符号左右出现一个或多个其他字符的字符串)。


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有