//frame版程序源代码如下,疏漏之处,望批评指正。
//数字分组没有编写,科学型计算器没有编写,其他已经完善。
import java.awt.*;
import java.lang.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
import java.text.DecimalFor……
声明:该文章系网友上传分享,此内容仅代表网友个人经验或观点,不代表本网站立场和观点;若未进行原创声明,则表明该文章系转载自互联网;若该文章内容涉嫌侵权,请及时向
论文写作技巧
上一篇:下一篇:
相关经验教程当前位置: >>
Java程序设计教程-习题[有解答]
第1章习 题 一一、简答题Java语言概述1.Java 语言的诞生日是哪一天?它有哪些特点与优势? 2.Java 语言程序分为哪几种?Java Application 程序和 Java Applet 程序的主要区别是什 么? 3.Java Application 程序在结构上有哪些特点?如何编译、运行?被编译
后生成什么文 件?该文件机器可以直接识别吗?如何执行? 4.安装 JDK 后如何对 JAVA_HOME、PATH 和 CLASSPATH 环境变量进行设置?它们 的作用是什么? 5.Java 程序在书写上应注意哪些事项?有哪些编码规范? 6.为什么要对程序进行注释?Java 中有哪几种注释?文档注释符与多行注释符有何不 同?二、选择题1.下面关于 Java Application 程序结构特点描述中,错误的是( D ) 。 A.一个 Java Application 程序由一个或多个文件组成,每个文件中可以定义一个或多个 类,每个类由若干个方法和变量组成。 B.Java 程序中声明有 public 类时,则 Java 程序文件名必须与 public 类的类名相同,并 区分大小写,扩展名为.java。 C.组成 Java Application 程序的多个类中,有且仅有一个主类。 D.一个.java 文件中定义多个类时,允许其中声明多个 public 类。 2.编译 Java 程序后生成的面向 JVM 的字节码文件的扩展名是( B ) 。 A..java B..class C..obj D..exe 3.下面关于 Java 语言特点的描述中,错误的是( A ) 。 A.Java 是纯面向对象编程语言,支持单继承和多继承。 B.Java 支持分布式的网络应用,可透明地访问网络上的其他对象。 C.Java 支持多线程编程。 D.Java 程序与平台无关、可移植性好。 4.Java SE 的命令文件(java、javac、javadoc 等)所在目录是( C ) 。 A.%JAVA_HOME%\jre B.%JAVA_HOME%\lib C.%JAVA_HOME%\bin D.%JAVA_HOME%\demo 5.下列关于运行字节码文件的命令行参的描述中,正确的是( C ) 。 A.命令行的命令字被存放在 args[0]中。 B.数组 args[]的大小与命令行的参数的个数无关。11C.第一个命令行参数(紧跟命令字的参数)被存放在 args[0]中。 D.第一个命令行参数被存放在 args[1]中。 6.paint()方法使用哪种类型的参数? ( A ) A.Graphics B.Graphics2D C.String D.Color 7.Java 的核心包中,提供编程应用的基本类的包是( B ) 。 A.java.util B.java.lang C.java.applet D.java.rmi 8.编译 Java 程序时,用于指定生成 class 文件位置的选项是( A ) 。 A.-d B.-g C.-verbose D.-nowarn 9.下列标识符(名字)命名原则中,正确的是( C ) 。 A.类名的首字母小写 B.接口名的首字母小写 C.常量全部大写 D.变量名和方法名的首字母大写 10.下面哪些选项是正确的 main 方法说明?( D ) A.void main() B.private static void main(String args[]) C.public main(String args[]) D.public static void main(String args[]) 11.下面哪种注释方法能够支持 javadoc 命令?( C ) A.// B./*...*/ C./**...*/ D./**...**/三、判断题1.Java 语言具有较好的安全性和可移植性及与平台无关等特性。 √ ) ( 2.Java 语言的源程序不是编译型的,而是编译解释型的。 √ ) ( 3.Java Application 程序中,必有一个主方法 main(),该方法有没有参数都可以。 √ ) ( 4.java.util.Scanner(System.in)可以接收用户从键盘输入的简单数据。 √ ) ( 5.Java 程序中不区分大小写字母。 × ) ( 6.机器不能直接识别字节码文件,它要经过 JVM 中的解释器边解释边执行。 √ ) ( 7.System 类中的 println()方法分行显示信息,而 print()方法不分行显示信息。 √ ) ( 8.当前路径的标识是“.” ( √ ) 。 9.java 命令不区分大小写,而 javac 命令区分大小写。 × ) ( 10 . printf() 和 format() 方 法 使 用 指定 格 式 字 符串 和 参 数 ,将 格 式 化 字符 串 写 入到 PrintStream 类型的输出流(System.out 对象)中。 √ ) ( 11. 在运行字节码文件时, 使用 java 命令, 一定要给出字节码文件的扩展名.class。 × ) (四、编程题1.分别用 UltraEdit、NetBeans、Eclipse、JBuilder 和 JCreator 编写一个 Java Application 程序,使该程序运行后输出字符串“Nothing is too difficult if you put your head into it .” 。 2.编写一个具有交互功能的 Java Application 程序,提示从键盘输入应付金额和实付金 额后,计算并输出找零或欠付金额。 3.编写一个 Java Applet 程序,使该程序运行后输出字符串“Don’t put off till tomorrow what should be done today.” 。 22第2章Java语言基础习 题 二一、填空题1.已知:int a =8,b=6; 则:表达式++a-b++的值为( 3 ) 。 2.已知:boolean b1=true,b2; 则:表达式! b1 && b2 ||b2 的值为( false ) 。 3.已知:double x=8.5,y=5.8; 则:表达式 x++&y--值为( true ) 。 4.已知:int a[ ]={2,4,6,8}; 则:表达式(a[0]+=a[1])+ ++a[2]值为( 13 ) 。 5.执行 int x, a = 2, b = 3, c = 4; x = ++a + b++ + c++; 结果是( x=10,a=3,b=4,c=5 )。 6.Java 中的显式类型转换既能(从低类型向高类型转换)也能从高类型向低类型转换, 而隐式类型转换只有前者。 7.在 Java 中,字符串和数组是作为(对象)出现的。 8.执行下列程序代码的输出结果是( 10,11,11 ) 。 int a = 10; int i, i = ++a; j = a--; System.out.printf(&%d,%d,%d&, a, i, j); 9.执行完 boolean x= boolean y= boolean z=(x&&y)&&(!y) ; int f=z==false?1:2; 这段代码后,z与f的值分别是( false )和( 1 )。二、选择题1.下面哪些标识符在Java语言中是合法的?( AB ) A.persons$ B.TwoUsers C.*point D.instanceof F.end-line 2.下列( D )是合法标识符。 A.2end B.-hello C.=AB D.整型变量 3.已知 int i = 2 147 483 647; ++i; 则 i 的值等于( A ) 。 A.- 2 147 483 648 B.2 147 483 647 C.2 147 483 648 D.-1 4.若 x = 5,y = 8,则表达式 x|y 的值为( B ) 。 A.3 B.13 C.0 D.5 5.若定义有变量 float f1,f2 = 8.0F,则下列说法正确的是( B ) 。 A.变量 f1,f2 均被初始化为 8.0 B.变量 f1 没有被初始化,f2 被初始化为 8.0 C.变量 f1,f2 均未被初始化 D.变量 f2 没有被初始化,f1 被初始化为 8.0 6.基本数据类型 short 的取值范围是( B ) 。 A. (-256)~ 255 B. (-32 768)~ 32 767 C. (-128)~ 127 D.0~65 535 7.下列( B )是不能通过编译的语句。 A.double d = 545.0; B.char a1 = “c”; C.int i = 321; D.float f1 =45.0f; 8.若定义有 则表达式 s * b + c 的类型为( C ) 。 A.char B.short C.int D.byte3349.下列循环语句的循环次数是( B )。 int i=5; do { System.out.println(i--); i--; }while(i!=0); A.5 B.无限 C.0 D.1 10.下列代码哪几行会出错?( C ) 1) public void modify() { 2) int I, j, 3) I = 100; 4) while (I & 0) { 5) j = I * 2; 6) System.out.println(& The value of j is & + j); 7) k = k + 1; 8) I--; 9) } 10 } A.line 4 B.line 6 C.line 7 D.line 8 11.下列关于数组的定义形式,哪些是错误的?( ABC ) A.int[ ]c=new char[10]; B.int[ ][3]=new int[2][ ]; C.int[ ]a; a= D.char b[ ]; b=new char[80]; 12.执行String[] s=new String[10];语句后,哪些结论是正确的?( BC ) A.s[0] 为 未定义 B.s.length 为10 C.s[9] 为 null D.s[10] 为 && 13.下列关于Java语言的数组描述中,错误的是( D )。 A.数组的长度通常用length表示 B.数组下标从0开始 C.数组元素是按顺序存放在内存的 D.数组在赋初值和赋值时都不判界 14.下面的表达式哪些是正确的? ( ACE ) A.String s=&你好&;int i=3; s+=i; B.String s=&你好&;int i=3; if(i==s){ s+=i}; C.String s=&你好&;int i=3; s=i+s; D.String s=&你好&;int i=3; s=i+; E. String s= int i=(s!=null)&&(s.length()&0)?s.length():0; 15.下列代表十六进制整数的是( C ) 。 A.012345 B.2008 C.0xfa08 D.fb05 16.在 switch(expression)语句中,expression 的数据型不能是( C ) 。 A.char B.short C.double D.byte 17.下列说法正确的是( AC ) 。 A.表达式“1+2&3”的值是 false B.表达式“1+2||3”是非法的表达式 C.表达式“i+j=1”是非法的表达式 D.表达式“1+2&3”的值是 true418.指出正确的表达式( B )。 A.byte=128; B.long l=0xfffL; C.Boolean= D.double=0.9239d; 19.public class T18 { static int arr[] = new int[10]; public static void main(String a[]) { System.out.println(arr[1]); } } 哪个语句是正确的?( C ) A.编译时将产生错误 B.编译时正确,运行时将产生错误 C.输出零 D.输出空 20. String s = &hello&; String t = &hello&; char c[] = {'h','e','l','l','o'} ; 则下列哪些表达式 若 返回 true?( AB ) A.s.equals(t); B.t.equals(new String(&hello&)); C.t.equals(c); D.s==t; 21.执行下面的代码段: switch(m){ case 0: System.out.println(&case 0&); case 1: System.out.println(&case 1&); case 2: default: System.out.println(&default&); } 下列 m 的哪些值将引起&default&的输出?( CD ) A.0 B.1 C.2 D.3 22.下列关于“&&”和“&&”的运算,哪些是正确的?( AC ) A.00 00 &&5 的运行结果是 00 00
B.00 00 &&5 的运行结果是 00 00
C.00 00 &&5 的运行结果是 00 00
D.00 00 &&5 的运行结果是 00 00 三、判断题1.Java 语言使用的是 Unicode 字符集,每个字符在内存中占 8 位。 × ) ( 2.Java 语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。 √ ) ( 3.所有的变量在使用前都必须进行初始化。 × ) ( 4.已知 byte i = (byte)127; i = i +1;这两个语句能被成功编译。 √ ) ( 5.String str=&abcdefghi&; char chr=str.charAt(9); ( × ) 6.char[] chrArray={ 'a', 'b', 'c', 'd', 'e', 'f', 'g'}; char chr=chrArray[6]; ( √ )557.int i,j; boolean booleanValue=(i==j); ( × ) 8.int intArray[]={0,2,4,6,8}; int length=int Array.length();( × ) 9.String str=&abcedf&; int length=str. ( × ) 10.short shortValue=220; byte byteValue=shortV ( × ) 11.int[] intArray[60]; ( × ) 12.char[] str=&abcdefgh&; ( × ) 13.说明或声明数组时不分配内存大小,创建数组时分配内存大小。 √ ) ( 14.强制类型转换运算符的功能是将一个表达式的类型转换为所指定的类型。 √ ) (四、分析题1.分析下面的程序,写出运行结果。 public class Exercises5_1 { String str = new String(&Hi !&); char[] ch = { 'L', 'i', 'k', 'e' }; public static void main(String args[]) { Exercises5_1 ex = new Exercises5_1(); ex.change(ex.str, ex.ch); System.out.print(ex.str + & &); System.out.print(ex.ch); } public void change(String str, char ch[]) { str = &How are you&; ch[1] = 'u'; } } 运行结果是:( Hi ! Luke ) 2.分析下面的程序,写出运行结果。 public class Exercises5_2 { public static void main(String[] args) { int n = 1, m, j, for (i = 3; i &= 30; i += 2) { m = (int) Math.sqrt((double) i); for (j = 2; j &= j++) if ((i % j) == 0) if (j &= m + 1) { System.out.print(i + & &); if (n % 5 == 0) System.out.print(&\n&); n++;66} } } } 运行结果是:( 3 5 7 11 13 17 19 23 29 )3.分析下面的程序,写出运行结果: public class Exercises5_3 { public static void main(String args[]) { String str1 = new String(); String str2 = new String(&String 2&); char chars[] = { 'a', ' ', 's', 't', 'r', 'i', 'n', 'g' }; String str3 = new String(chars); String str4 = new String(chars, 2, 6); byte bytes[] = { 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, String str5 = new String(bytes); StringBuffer strb = new StringBuffer(str3); System.out.println(&The String str1 is & + str1); System.out.println(&The String str2 is & + str2); System.out.println(&The String str3 is & + str3); System.out.println(&The String str4 is & + str4); System.out.println(&The String str5 is & + str5); System.out.println(&The String strb is & + strb); } } 运行结果是:( ) The String str1 is The String str2 is String 2 The String str3 is a string The String str4 is string The String str5 is
The String strb is a string0x39 };五、改错题改为:int[ ]删除“20”1.找出下面代码的错误部分,说明错误类型及原因,并更正。 public int m1 (int number[20]){ 删除此行语句 number = new int[20]; 改为:int i=1;i&number.length-1;i++ for(int i=0;i&number.i++)77number[i] = number[i-1] + number[i+1]; } 改正后程序: public int[] m1(int number[]) { // number = new int[20]; for (int i = 1; i & number.length - 1; i++) number[i] = number[i - 1] + number[i + 1]; }2.找出下面代码的错误部分,说明错误类型及原因,并更正。 (1) int x = 1; 增加“,i = 0” while (x &= 10); { i++; } 删除分号 改正后程序: int x = 1, i = 0; while (x &= 10) { i++; }增加 int n =1; (2) switch (n) { case 1: system.out.println(&&The name is 1&); case 2: system.out.println(&&The name is 2&); } 改为:System 改正后程序: int n = 1; switch (n) { case 1: System.out.println(&The name is 1&); case 2: System.out.println(&The name is 2&);增加: 删除一个分号88}六、简答题1.Java 的关键字有哪些? 2.标识符有何用途?Java 中定义标识符的规则有哪些? 3.Java 定义了哪些基本数据类型?基本数据类型和引用数据类型的特点是什么?字节 型和字符型数据有何区别?长度为 32 位的基本数据类型有哪些? 4.整型常量有哪三种表示形式?浮点型变量有哪两种表示形式?布尔型常量可以转换 成其他数据类型吗? 5.在 Java 语言中,表示字符串常量和字符常量时应注意哪些问题? 6.在 Java 转义字符表示中,ASCII 码值对应的字符如何表示?Unicode 字符集中对应的 字符如何表示? 7.什么是表达式语句?什么是空语句?什么是块语句?可以把块语句视为一条语种 吗? 8.if 语句中,&条件表达式&一定是逻辑型表达式吗? switch 语句中,&语句序列&里一定 有 break 语句吗? 9.while 循环语句与 do-while 循环语句有何不同? 10.for 循环语句中,关键字 for 后面括号内的表达式是否可以使用多个用逗号分隔的表 达式?for-each 语句的特点是什么? 11.break 语句和 continue 语句有哪两种形式? 12.创建数组元素为基本数据类型的数组时,系统都会指定默认值吗?布尔型的默认值 是什么? 13.在 Java 中怎样定义和使用一维数组、二维数组? 14.字符串类 String 和 StringBuffer 类有何不同? 15.Java 中的数组实际上是一个隐含的“数组类”的对象,而数组名实际上是该对象的 一个引用,这种说法对吗? 16. 字符数组与字符串有本质的不同, 而字符串实际上是 String 类和 StringBuffer 类的对 象,这种说法对吗?七、编程题1.编写一个程序,求 1!+2!+…+10!的值。 2.编程求 100 以内的全部素数。 3.使用异或运算符“^”实现两个整数的交换。 4.编写一个程序,打印输出下列 5×5 螺旋方阵: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 5.给出任意两个日期,编程计算它们相距的天数。996.编程输出下列图形: * *** ***** *** * 7.编程验证哥德巴赫猜想,即任何大于 6 的偶数可以表示为两素数之和,如 10=3+7。 8.百鸡百钱问题,公鸡每只 3 元,母鸡每只 5 元,小鸡 3 只 1 元,用 100 元钱买 100 只鸡,公鸡、母鸡和小鸡各买多少? 9.编写一个程序,利用数组把 10 个数用直接交换方法从小到大排序。 10.编写一个程序,用选择法对数组 a[]={9, 5, 3, 12, 22, 35, 88, 11, 90, 1}进行由小到大的 排序。 11.找出一个二维数组的鞍点,即该位置上的元素在该行上最大、在列上最小(也可能 没有) 。 12.编写一个程序,打印输出 10 行杨辉三角形。 13.编写一个程序,实现字符串的大小写字母的相互转换。 14.编写一个程序,找出两个字符串中所有相同的字符。 15.编写一个程序,对字符串数组按字典序重新排列。 16.编写一个程序,分析输出字符串中的单词,并统计单词个数。 17.编写一个程序,将字符串“.ymene tsrow sih si nam yrevE”反转。1010第3章Java语言面向对象基础习 题 三一、填空题1.类是一组具有相同(属性)和(行为)的对象的抽象。 (实例)是由某个特定的类所 描述的一个个具体的对象。 2. (接口)只描述系统所提供的服务,而不包含服务的实现细节。 3.模型应具有(抽象性)(可理解性)(精确性)(确定性)和廉价性等基本特性。 、 、 、 4.UML 定义了(用例图)(静态图)(交互图) 、 、 、行为图和实现图五类模型图。 5.在 UML 类图中分别用( + )( # )( ~ )和( - )表示属性与方法的公有、保 、 、 护、默认和私有访问控制权限。 6.在 UML 中,类之间主要有(关联)(依赖)(聚集)(泛化)和实现五种关系。 、 、 、 7.构造方法的方法名与(类名)相同,若类中没有定义任何的构造方法,则运行时系 统会自动为该类生成一个(默认构造)方法。 8.在方法体内定义的变量是(局部变量) ,其前面不能加(public) ,且必须(初始化) 。 9.数组元素作实参时对形参变量的数据传递是(单向值传递) ,数组名作实参时对形参 变量的数据传递是(双向引用传递) 。 10.对象作方法形参时,方法实参也用对象,实现(引用)调用。 11. new)是一个特殊的方法,用于创建一个类的实例。 ( 12.对象拷贝有(对象引用复制)(浅复制)和(深复制)三种。 、 13. (类)方法不能直接访问其所属类的(实例)变量和(实例)方法,只可直接访问 其所属类的(类)变量和(类)方法。 14. (类)变量在内存中只有一个拷贝,被该类的所有对象共享;每当创建一个实例, 就会为(实例)变量分配一次内存, (实例)变量可以在内存中有多个拷贝,互不影响。 15.Java 使用固定于首行的(package)语句来创建包。 16.在运行时,由 java 解释器自动引入,而不用 import 语句引入的包是(java.lang) 。 17.发布 Java 应用程序或类库时,通常可以使用 JDK 中自带的(JAR)命令打包。二、简答题1.名词解释:OO、OOSE、OOA、OOD、OOP;抽象、对象、类、实例、方法、属性、 消息、接口、封装、继承、多态性;模型、UML、类图、对象图、用例图、顺序图、协作图、 状态图、活动图、包图、构件/组件图、部署图。 2.简述面向对象的基本思想、主要特征和基本要素。 3.为什么要对类进行封装?封装的原则是什么? 4.类的封装性、继承性和多态性各自的内涵是什么?11115.简述依赖、关联和聚集的区别。 6.什么是对象?什么是类?二者有何关系? 7.Java 中类定义的一般格式是什么?定义类的修饰符有哪些?各自的特点是什么? 8.Java 中成员变量定义的一般格式是什么?成员变量有哪些修饰符? 9.Java 中成员方法定义的一般格式是什么?成员方法有哪些修饰符? 10.简述构造方法的特点与作用。 11.Java 中创建对象的一般格式是什么?如何初始化对象?如何给对象赋值? 12.什么是类变量(静态变量)?什么是实例变量?它们的存储特性、访问方法、主要 区别是什么? 13.什么是类方法(静态方法)?什么是实例方法?它们的存储特性、访问方法、主要 区别是什么? 14.什么是包?如何创建包?如何引用包? 15.Import 语句和 package 语句的功能分别是什么? 16.举例说明 JAR 包的创建、加载与运行方法。三、选择题1.下面关于封装性的描述中,错误的是( D ) 。 A.封装体包含属性和行为 B.被封装的某些信息在外不可见 C.封装提高了可重用性 D.封装体中的属性和行为的访问权限相同 2.下面关于类方法的描述,错误的是( B ) 。 A.说明类方法使用关键字 static B.类方法和实例方法一样均占用对象的内存空间 C.类方法能用实例和类名调用 D.类方法只能处理类变量或调用类方法 3.下面关于包的描述中,错误的是( A ) 。 A.包是若干对象的集合 B.使用 package 语句创建包 C.使用 import 语句引入包 D.包分为有名包和无名包两种 4.下述哪些说法是正确的?( BC ) A.用 static 关键字声明实例变量 B.实例变量是类的成员变量 C.局部变量在方法执行时创建 D.局部变量在使用之前必须初始化 5.下面哪些代码段是正确的Java源程序?( BCD ) A.import java.io.*; B.import java.io.*; class Person{/* do something... */} public class Test{/* do something... */} public class Test{/* do something... */} C.import java.io.*; D. import java.awt.*; public class Test{/* do something... */} public class Test{/* do something... */}四、判断题1.类是一种类型,也是对象的模板。 √ ) ( 2.类中说明的方法可以定义在类体外。 × ) ( 3.实例方法中不能引用类变量。 × ) (12124.创建对象时系统将调用适当的构造方法给对象初始化。 √ ) ( 5.使用运算符 new 创建对象时,赋给对象的值实际上是一个引用值。 √ ) ( 6.对象赋值实际上是同一个对象具有两个不同的名字,它们都有同一个引用值。 √ ) ( 7.对象可作方法参数,对象数组不能作方法参数。 × ) ( 8.class 是定义类的惟一关键字。 √ ) ( 9.Java 语言会自动回收内存中的垃圾。( √ )五、分析题分析下面的程序,写出运行结果。 import java.awt.*; import java.applet.*; class MemberVar { static int sn = 30; final int fk = 40; MemberVar() { fn = ++ } } public class Exercises5_1 extends Applet { public void paint(Graphics g) { MemberVar obj1 = new MemberVar(); MemberVar obj2 = new MemberVar(); g.drawString(&obj1.fn=& + obj1.fn, 20, 30); g.drawString(&obj1.fk=& + obj1.fk, 20, 50); g.drawString(&obj2.fn=& + obj2.fn, 20, 70); g.drawString(&obj2.fk=& + obj2.fk, 20, 90); } } 运行结果是:( ) obj1.fn=31 obj1.fk=40 obj2.fn=32 obj2.fk=40六、改错题加参数:String args[ ]1.下面的程序中有若干个语法错误,找出后请改正。 public class MyMainClass{ public static void main( ) {1313删除 publicTheOtherClass obj = new TheOtherClass(&John Smith&,&Male&,&UK&); System.out.println(obj.name+' '+obj.gender+' '+obj.nationality); } System.out.println(&The end of the program! &) 此句加分号“;”后移入 main()方法体} public class TheOtherClass{ private String name,gender, public TheOtherClass(String name,String gender,String nationality) 改为 public this.name= this.gender= this.nationality= } } 改正后程序: public class MyMainClass { public static void main(String args[]) { TheOtherClass obj = new TheOtherClass(&John Smith&, &Male&, &UK&); System.out.println(obj.name + ' ' + obj.gender + ' ' + obj.nationality); System.out.println(&The end of the program! &); } } class TheOtherClass { public String name, gender, public TheOtherClass(String name, String gender, String nationality) { this.name = this.gender = this.nationality = }}{142.下面的程序中有若干个语法错误,找出后请改正。 public class Car{ private String carN private static final int TOP_SPEED=50; abstract void alert(); public static int getTopSpeed(){ return TOP_SPEED; } public static void setCarName(){ carName=&Bensi&;加 abstract删除 static14} public static void setMileage(){ mileage=180; } } 改正后程序: public abstract class Car {private String carN private static final int TOP_SPEED = 50; abstract void alert(); public static int getTopSpeed() { return TOP_SPEED; } public void setCarName() { carName = &Bensi&; } public void setMileage() { mileage = 180; } }七、编程题1.设计(用 UML 的类图表示)并实现一点类 Point,该类的构成包括点的 x 和 y 两个 坐标,其构造方法、设置和修改坐标、求解两点距离的方法等,编写应用程序生成该类的对 象并对其进行操作。 2.设计(用 UML 的类图表示)并实现一个矩形类 Rectangle,包括其构造方法、求解矩 形面积和周长的方法等,实例化后输出相应的信息。 3.计算出 Fibonacci 数列的前 n 项,Fibonacci 数列的第一项和第二项都是 1,从第三项 开始,每项的值都是该项的前两项之和。即: F(n) = F (n-1) + F(n-2) n≥3 F(1) = F(2) = 1 n=1,2 4.参照“图 3-4”实现 Student 类的定义,然后生成该类的对象后进行相关操作。1515第4章Java语言面向对象高级程序设计习 题 四一、填空题1.在面向对象系统中,消息分为(公有消息)和(私有消息)两类。 2.类的访问控制符有(public)和(默认 default)两种, (public)类具有跨包访问性而 (default)类不能被跨包访问。 3.类成员的访问控制符有(public)(protected)(private)和默认四种。 、 、 4. public 类型的类成员可被 (同一类) 同一包中的 、 (子类与非子类) 和不同包中的 (子 类与非子类)的代码访问引用。 5.protected 类型的类成员可被(同一类) 、同一包中的(子类与非子类)和不同包中的 (子类)的代码访问引用。 6.default 类型的类成员只能被(同一类) 、同一包中的(子类与非子类)的代码访问引 用。 7.private 类型的类成员只能被其所在类中的代码访问引用,它只具有(类)域访问性。 8.系统规定用(this())表示当前类的构造方法,用(super())表示直接父类的构造方法, 在构造方法中两者只能选其一,且须放在第一条语句。 9.若子类和父类在同一个包中,则子类继承父类中的(public)(protected)和(默认) 、 成员,将其作为子类的成员,但不能继承父类的(private)成员。 10.若子类和父类不在同一个包中,则子类继承了父类中的(public)和(protected)成 员,将其作为子类的成员,但不能继承父类的(默认)和(private)成员。 11. (子类对象)直接赋值给(父类对象)时,子类对象可自动转换为父类对象, (父类 对象)赋值给(子类对象)时,必须将父类对象强制转换为子类对象。 12.Java 的多态性主要表现在(方法重载)(方法覆盖)和(变量覆盖)三个方面。 、 13.重写后的方法不能比被重写的方法有(更严格)的访问权限,重写后的方法不能比 被重写的方法产生更多的异常。 14.Java 语言中,定义子类时,使用关键字(extends)来给出父类名。如果没有指出父 类,则该类的默认父类为(Object 类) 。 15.Java 语言中,重载方法的选择是在编译时进行的,系统根据(参数个数)(参数类 、 型)和参数顺序寻找匹配方法。 16.实现接口中的抽象方法时,必须使用(完全相同)的方法头,并且还要用(public) 修饰符。 17.接口中定义的数据成员均是(常量数据成员) ,所有成员方法均为(抽象方法)方 法,且没有(构造)方法。 18.this 代表(当前对象自身)的引用,super 表示的是当前对象的直接父类对象。 19.如果一个类包含一个或多个 abstract 方法,则它是一个(abstract)类。161620.Java 不直接支持多继承,但可以通过(接口)实现多继承。类的继承具有(传递) 性。 21.没有子类的类称为(最终类) ,不能被子类重载的方法称为(最终方法) ,不能改变 值的量称为常量,又称为(最终变量) 。 22.一个接口可以通过关键字 extends 来继承(多个)其他接口。 23.接口中只能包含(public static final)类型的成员变量和(public abstract)类型的成 员方法。 24.一般地,内部类又分为定义在方法体外的(成员类)和定义在方法体内的(局部类) 两种。 25.静态内部类可直接通过外部类名引用,其一般格式是(new 外部类名.内部类构造方 法( );) 。 26.匿名类一般分为(语句匿名类)和(参数匿名)类两种。 27.面向对象的软件设计中,根据目的不同模式可分为(创建型)(结构型)和(行为 、 型)三种。二、简答题1.什么是继承?什么是父类?什么是子类?继承的特性可给面向对象编程带来什么好 处?什么是单继承?什么是多重继承? 2.如何创建一个类的子类? 3. 若在一个 public 类中的成员变量及成员方法的访问控制符为 protected, 则此类中的成 员可供什么样的包引用? 4.什么是多态?使用多态有什么优点?Java 中的多态有哪几种?重载方法与覆盖方法分别 属于哪种多态? 5.什么是重载方法?什么是覆盖方法?它们的主要区别是什么? 6.什么是成员变量的继承?什么是成员变量的覆盖? 7.举例说明什么是上转型对象,上转型对象的操作原则是什么? 8.简述接口定义的一般格式。 9.什么是接口?如何定义接口?接口与类有何区别? 10.一个类如何实现接口?实现某接口的类是否一定要重载该接口中的所有抽象方法? 11.比较接口与抽象类的异同。 12.什么是抽象类?什么是抽象方法?各自有什么特点? 13.什么是最终类?什么是最终变量?什么是最终方法? 14.简述内部类的类型。 15.简述在外部类的内部与外部对实例成员类实例化的方法。 16.简述定义语句匿名类和参数匿名的一般格式。 17.什么是适配器模式?什么是装饰模式?三、选择题1.下面关于类的继承性的描述中,错误的是( C ) 。 A.继承是在已有的基础上生成新类的一种方法 171718B.Java 语言要求一个子类只有一个父类 C.父类中成员的访问权限在子类中将被改变 D.子类继承父类的所有成员,但不包括私有的成员方法 2.在成员方法的访问控制修饰符中,规定访问权限包含该类自身,同包的其他类和其 他包的该类子类的修饰符是( B ) 。 A.默认 B.protected C.private D.public 3.在类的修饰符中,规定只能被同一包类所使用的修饰符是( B ) 。 A.public B.默认 C.final D.abstract 4.下列关于子类继承父类的成员描述中,错误的是( C )。 A.当子类中出现成员方法头与父类方法头相同的方法时,子类成员方法覆盖父类中的 成员方法。 B.方法重载是编译时处理的,而方法覆盖是在运行时处理的。 C.子类中继承父类中的所有成员都可以访问。 D.子类中定义有与父类同名变量时,在子类继承父类的操作中,使用继承父类的变量; 子类执行自己的操作中,使用自己定义的变量。 5.定义一个类名为“MyClass.java”的类,并且该类可被一个工程中的所有类访问,则下 面哪些声明是正确的?( AB ) A.public class MyClass extends Object B.public class MyClass C.private class MyClass extends Object D.class MyClass extends Object 6.下列关于继承性的描述中,错误的是( C )。 A.一个类可以同时生成多个子类 B.子类继承了父类中除私有的成员以外的其他成员 C.Java支持单重继承和多重继承 D.Java通过接口可使子类使用多个父类的成员 7.下列关于抽象类的描述中,错误的是( C )。 A.抽象类是用修饰符abstract说明的 B.抽象类是不可以定义对象的 C.抽象类是不可以有构造方法的 D.抽象类通常要有它的子类 8.设有如下类的定义: public class parent { int change() {} } class Child extends Parent { } 则,下面哪些方法可加入Child类中?( AB ) A.public int change(){ } B.int chang(int i){ } C.private int change(){ } D.abstract int chang(){ } 9.下列关于构造方法的叙述中,错误的是( D ) 。 A.构造方法名与类名必须相同 B.构造方法没有返回值,且不用 void 声明 C.构造方法只能通过 new 自动调用 D.构造方法不可以重载,但可以继承 10.下面叙述中,错误的是( C ) 。 A.子类继承父类 B.子类能替代父类 C.父类包含子类 D.父类不能替代子类 11.下列对多态性的描述中,错误的是( B ) 。 A.Java 语言允许方法重载与方法覆盖 B.Java 语言允许运算符重载18C.Java 语言允许变量覆盖 D.多态性提高了程序的抽象性和简洁性 12.下面关于接口的描述中,错误的是( A ) 。 A.一个类只允许继承一个接口 B.定义接口使用的关键字是 interface C.在继承接口的类中通常要给出接口中定义的抽象方法的具体实现 D.接口实际上是由常量和抽象方法构成的特殊类 13.欲构造 ArrayList 类的一个实例,此类继承了 List 接口,下列哪个方法是正确的? ( C ) A.ArrayList myList=new Object(); B.ArrayList myList=new List(); C.List myList=new ArrayList(); D.List myList=new List(); 14.下列哪些方法与方法 public void add(int a){}为合理的重载方法?( ACD ) A.public void add(char a) B.public int add(int a) C.public void add(int a,int b) D.public void add(float a) 15. MAX_LENGTH 是 int 型 public 成员变量, 变量值保持为常量 100, 其定义是 C ) ( 。 A.public int MAX_LENGTH=100; B.final public int MAX_LENGTH=100; C.public final int MAX_LENGTH=100; D.final int MAX_LENGTH=100;四、判断题1.Java 语言中,构造方法是不可以继承的。 √ ) ( 2.子类的成员变量和成员方法的数目一定大于等于父类的成员变量和成员方法的数目。 ( × ) 3.抽象方法是一种只有说明而无具体实现的方法。 √ ) ( 4.Java 语言中,所创建的子类都应有一个父类。 √ ) ( 5.调用 this 或 super 构造方法的语句必须放在第一条语句。 √ ) ( 6.一个类可以实现多个接口,接口可以实现“多重继承” ( √ ) 。 7.实现接口的类不能是抽象类。 √ ) ( 8.使用构造方法只能给实例成员变量赋初值。 √ ) ( 9.Java 语言不允许同时继承一个类并实现一个接口。( × )五、分析题1.分析下面的程序,写出运行结果。 public class Exercises6_1 extends TT{ public void main(String args[]){ Exercises6_1 t = new Exercises6_1(&Tom&); } public Exercises6_1(String s){ super(s); System.out.println(&How do you do?&); } public Exercises6_1(){ this(&I am Tom&);1919} } class TT{ public TT(){ System.out.println(&What a pleasure!&); } public TT(String s){ this(); System.out.println(&I am &+s); } } 运行结果是:( ) What a pleasure! I am Tom How do you do? 2.分析下面的程序,写出运行结果。 public class Exercises6_2 { priv private S public class Student { private S public void Output(int count) { count++; this.count++; Exercises6_2.count++; Exercises6_2.this.count++; System.out.println(count + & & + this.count + & & + Exercises6_2.count + & & + Exercises6_2.this.count++); } } public Student aStu() { return new Student(); } public static void main(String args[]) { Exercises6_2 g3 = new Exercises6_2(); g3.count = 10; Exercises6_2.Student s1 = g3.aStu(); s1.Output(5);2020} } 运行结果是:( 6 1 12 12 )3.分析下面的程序,写出运行结果。 class Exercises6_3 { class Dog { private S Dog(String s, int a) { name = age = step = 0; } public void run(Dog fast) { fast.step++; } } public static void main(String args[]) { Exercises6_3 a = new Exercises6_3(); Dog d = a.new Dog(&Tom&, 3); d.step = 29; d.run(d); System.out.println(& & + d.step); } } 运行结果是:( ) 30 4.分析下面的程序,写出运行结果。 class Aclass { void go() { System.out.println(&Aclass&); } } public class Bclass extends Aclass { void go() { System.out.println(&Bclass&); } public static void main(String args[]) { Aclass a = new Aclass(); Aclass a1 = new Bclass(); a.go(); a1.go();2121} } 运行结果是: ( Aclass Bclass)六、改错题1.找出下面代码的错误部分,说明错误类型及原因,并更正之。 public class Car { private String carN private static final int TOP_SPEED = 200; abstract void alert(); public static int getTopSpeed() { return TOP_SPEED; } public static void setCarName() { carName = &奥迪&; } public static void setMileage() { mileage = 180; } } 错误:因为含有抽象方法的类,必须是抽象类;静态方法只能访问静态成员。 更正: public abstract class Car { private String carN private static final int TOP_SPEED = 200; abstract void alert(); public static int getTopSpeed() { return TOP_SPEED; } public void setCarName() { carName = &奥迪&; } public void setMileage() { mileage = 180; } }22222.下列代码不能编译的原因是:( )。 class A { public static void main(String args[]) { new B(); } class B { B() {System.out.println(x); } } } 因为在 A 类的 main 方法中,还没有 A 的实例就要试图生成内部类的实例。 更正如下: public class A { public static void main(String args[]) { A a = new A(); a.new B(); } class B { B() { System.out.println(x); } } }七、编程题1.先在一个包中编写第一个类 ClassA,要求该类中具有四种不同访问权限的成员,再 在另一个包中编写第二个类 ClassB,并在该类中编写一个方法以访问第一个类中的成员。总 结类成员访问控制的基本规则。 2.设计一个汽车类 Car,实现构造方法的重载,然后利用这些构造方法,实例化不同的 对象,输出相应的信息。 3.设计一个乘法类 Multiplication,在其中定义三个同名的 mul 方法:第一个方法是计 算两个整数的积;第二个方法是计算两个浮点数的积;第三个方法是计算三个浮点数的积。 然后以 Java Applet 程序方式调用这三个同名的方法 mul,输出其测试结果。 4.已知编一个抽象类 AbstractShape 如下所示: abstract class AbstractShape { final double PI=3.1415926; public abstract double getArea(); public abstract double getGirth(); }2323请编写 AbstractShape 类的一个子类, 使该子类实现计算圆面积方法 getArea()和周长的方 法 getGirth()。 5.按下列要求编程: (1)编写一个抽象类,至少有一个常量和一个抽象方法。 (2)编写二个抽象类的子类,重写定义抽象类中的抽象方法。 (3)编写一个主类使用 3 个类,进行某种运算。 6.设计一个形状 Shapes 接口,在其中定义计算面积的 getArea( )方法和求周长的 getPerimeter( )方法,然后设计一个 Circle 类以实现 Shapes 接口中的两个方法,最后以 Java Application 程序方式测试前述接口及其实现类,输出其测试结果。 7.使用继承和接口技术,编写一个程序,求解几何图形(如直线、三角形、矩形、圆 和多边形)的周长和面积。 8.使用继承和接口技术,编写一个程序,求解一元多次方程(如一元一次、一元二次 和一元高次方程)的解。 9.使用内部类技术构造一个线性链表。 10.参照例 4-30 以组合方式创建某类的适配器。2424第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(),输出结果是( 2 import java.util.*; public class T1_2 { public int hashCode() { return 1; } public boolean equals(Object b) { } 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 2.迭代器接口(Iterator)所定义的方法是( ABC D.LinkedList )。2525A.hasNext() B.next() C.remove() D.nextElement() 3.下列方法属于java.lang.Math类的有(方法名相同即可)( ABCD )。 A.random() B.abs() C.sqrt() D.pow() 4.指出正确的表达式有( AB )。 A.double a=2.0; B.Double a=new Double(2.0); C.byte A= 350; D.Byte a = 120; 5.System 类在哪个包中?( B ) 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 类保存由学号和学生姓名所组成的键-值对,比如&&和&John Smith&,然后按学号的自然顺序将这些键-值对一一打印出来。 3.编写一个程序,使用 Map 实现对学生成绩单的存储和查询,并将成绩排序存储到 TreeSet 中,求出平均成绩、最高分和最低分。 4.编写一个程序,实现将十进制整数转换为二进制、八进制和十六进制形式。 5.编写一个程序,在其中调用操作系统的注册表编辑器“regedit.exe” 。 6.使用 java.text.SimpleDateFormat 类将系统日期格式化为“2007 年 8 月 20 日”的形式 输出。 7.编写程序实现:定义一个 Float 类型的数组,随机往其中填充元素,并打印该数组内 容。2626第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 ) 。 A.FlowLayout B.CardLayout C.BorderLayout D.GridLayout 3.容器类 java.awt.container 的父类是( C ) 。 A.java.awt.Frame B.java.awt.Panel C.ponet 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 的基本规则,下列说法正确的是( D )。 A.Swing 组件可直接添加到顶级容器中 B.要尽量使用非 Swing 的重要级组件 C.Swing 的 Jbutton 不能直接放到 Frame 上 D.以上说法都对 7.在 Java 编程中,Swing 包中的组件处理事件时,下面( A )是正确的。 A.Swing 包中的组件也是采用事件的委托处理模型来处理事件的 B.Swing 包中的组件产生的事件类型,也都带有一个 J 字母,如 JMouseEvent C.Swing 包中的组件也可以采用事件的传递处理机制2727D.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。2828第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 ) 。 A.与同一个页面中的 Applet 通信 B.加载本地库 C.运行本地可执行程序 D.读写本地文件系统 2.为了向一个 Applet 传递参数,可以在 HTML 文件的 APPLET 标志中使用 PARAM 选 项。在 Applet 程序中获取参数时,应使用的方法是( B ) 。 A.getDocumentBase() B.getParameter( ) C.getCodeBase D.getImage() 3.下面关于 Applet 的说法正确的是( C )。 A.Applet 能访问本地文件 B.Applet 也需要 main 方法 C.Applet 必须继承自 java.awt.Applet D.Applet 程序不需要编译 4.编译 Java Applet 源程序文件产生的字节码文件的扩展名为( B ) 。 A.java B. class C. html D. exe 5.在 Java Applet 程序用户自定义的 Applet 子类中,常常重载( D )方法在 Applet 的界面中显示文字、图形和其他界面元素。 A.start( ) B.stop( ) C.init( ) D.paint( ) 6.在编写 Java Applet 程序时,若需要对发生的事件作出响应和处理,一般需要在程序 的开头写上( D )语句。 A.import java.awt.* ; B.import java.applet.* ; C.import java.io.* ; D.import java.awt.event.* ;29297.在浏览器中执行 Applet 程序四个方法里最先执行的是( A ) 。 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 小程序,当鼠标经过该图像时播放一个声音。3030第8章习 题 八一、简答题Java异常处理技术1.什么是异常?简述 Java 的异常处理机制。 2.系统定义的异常与用户自定义的异常有何不同?如何使用这两类异常? 3.在 Java 的异常处理机制中,try 程序块、catch 程序块和 finally 程序块各起到什么作 用?try-catch-finally 语句如何使用? 4.说明 throws 与 throw 的作用。 5.如何创建、抛出自定义异常?二、选择题1.请问所有的异常类皆继承哪一个类?( A ) A.java.lang.Throwable B.java.lang.Exception C.java.lang.Error D.java.io.Exception 2.哪个关键字可以抛出异常?( B ) A.transient B.throw C.finally D.catch 3.对于已经被定义过可能抛出异常的语句,在编程时( A )。 A.必须使用 try/catch 语句处理异常,或用 throw 将其抛出。 B.如果程序错误,必须使用 try/catch 语句处理异常。 C.可以置之不理。 D.只能使用 try/catch 语句处理。 4.下面程序段的执行结果是什么?( B ) public class Foo{ public static void main(String[] args){ try{} finally{System.out.println(&Finally&); } } } A.编译能通过,但运行时会出现一个例外。 B.程序正常运行,并输出 &Finally&。 C. 程序正常运行, 但不输出任何结果。 D. 因为没有 catch 语句块, 所以不能通过编译。 5.下面是一些异常类的层次关系: java.lang.Exception java.lang.RuntimeException3131java.lang.IndexOutOfBoundsException java.lang.ArrayIndexOutOfBoundsException java.lang.StringIndexOutOfBoundsException 假设有一个方法 X,能够抛出两个异常,Array Index 和 String Index 异常,假定方法 X 中没有 try-catch 语句处理这些异常,下面哪个答案是正确的?( A B ) A.方法 X 应该声明抛弃 ArrayIndexOutOfBoundsException 和 StringIndexOutOfBoundsException。 B.如果调用 X 的方法捕获 IndexOutOfBoundsException,则 ArrayIndexOutOfBoundsException 和 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 类所定义的异常是无法捕获的。( √ )32325.IOException 异常是非运行时异常,必须在程序中抛弃或捕获。( √ ) 6.用户自定义异常类是通过继承 Throwable 类来创建的。( × ) 7.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定 终止运行。( √ )四、程序填空public class ServerTimedOutException extends Exception { public ServerTimedOutException(String message, int port) { super(message); this.port = } public int getPort() { } } class Client {// 在下行横线处填上声明抛弃ServerTimedOutException例外的语句 public void connectMe(String serverName) ______________________ { 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.定义一个邮件地址异常类,当用户输入的邮件地址不合法时,抛出异常(其中邮件 地址的合法格式为**** @****,也就是说必须是在@符号左右出现一个或多个其他字符的字 符串) 。3333第9章Java多线程技术习 题 九一、简答题1.线程与进程有什么关系? 2.线程有几种状态,引起线程中断的主要原因有哪些? 3.一个线程执行完 run()方法后,进入了什么状态?该线程还能再调用 start()方法吗? 4.建立线程的方法有哪几种?Runnable 接口在线程创建中的作用? 5.Runnable 接口中包括哪些抽象方法?Thread 类有哪些主要的成员变量和方法? 6.线程在什么样的状态时,调用 isAlive()方法返回的值是 false? 7.在多线程中引入同步机制的原因是什么? 8.在什么方法中可以使用 wait()、notify()及 notifyAll()方法? 9.线程调用 interrupt()的作用是什么?线程什么时候会发生死锁? 10.线程联合有什么功能?线程分为哪两类?二、选择题1.运行下列程序,会产生什么结果?( A ) 1) public class Exercises3_1 extends Thread implements runable { 2) public void run() { 3) System.out.println(&this is run()&); 4) } 5) public static void main(String args[]) { 6) Thread t = new Thread(new Exercises3_1()); 7) t.start(); 8) } 9) } A.第一行会产生编译错误 B.第六行会产生编译错误 C.第六行会产生运行错误 D.程序会运行和启动 2.线程在生命周期中要经历五种状态,若线程当前是新建状态,则它可以到达的下一 个状态是( B ) 。 A.运行状态 B.可运行状态 C.阻塞状态 D.终止状态 3.下列关于 Java 多线程并发控制机制的叙述中,错误的是( D ) 。 A.Java 中没有提供检测与避免死锁的专门机制,但应用程序可以采用某些策略防止死 锁的发生 B.共享数据的访问权限都必须定义为 private C.Java 中对共享数据操作的并发控制是采用加锁技术3434D.线程之间的交互,提倡采用 suspend()/resume()方法 4.哪个关键字可以对对象加互斥锁?( C ) A.transient B.serialize C.synchronized D.static 5.下面哪些方法可用于创建一个可运行的多线程类?( AB ) A.public class T implements Runable { public void run(){ …} } B.public class T extends Thread { public void run(){ …} } C.public class T implements Thread { public void run(){…} } D.public class T implements Thread { public int run(){….} } E.public class T implements Runable { protected void run(){…} } 6.下面哪些方法可以在任何时候被任何线程调用?( ABC ) A.sleep() B.yield() C.synchronized(this) D.notify() E.wait() F.notifyAll() 7.下列哪些情况可以终止当前线程的运行?( BCD ) A.当创建一个新线程时 B.当该线程调用 sleep()方法时 C.抛出一个异常时 D.当一个优先级高的线程进入就绪状态时三、判断题1.一个 Java 多线程的程序不论在什么计算机上运行,其结果始终是一样的。 × ) ( 2.Java 线程有五种不同的状态,这五种状态中的任何两种状态之间都可以相互转换。 ( × ) 3.所谓线程同步就是若干个线程都需要使用同一个 synchronized 修饰的方法。 √ ) ( 4.使用 Thread 子类创建线程的优点是可以在子类中增加新的成员变量,使线程具有某 种属性, 也可以在子类中新增加方法, 使线程具有某种功能。 但是, Java 不支持多继承, Thread 类的子类不能再扩展其他的类。 √ ) ( 5.Java 虚拟机(JVM)中的线程调度器负责管理线程,调度器把线程的优先级分为 10 个 级别,分别用 Thread 类中的类常量表示。每个 Java 线程的优先级都在常数 1 和 10 之间,即 Thread.MIN_PRIORITY 和 Thread.MAX_PRIORITY 之间。 如果没有明确地设置线程的优先级 别,每个线程的优先级都为常数 8。 × ) ( 6.当线程类所定义的 run( )方法执行完毕,线程的运行就会终止。 √ ) ( 7.线程的启动是通过引用其 start()方法而实现的。 √ ) (四、编程题1.请采用实现 Runnable 接口的多线程技术,用 50 个线程,生成 10000 个[1-1000]间的 随机整数。 2.运用多线程技术在上下分割的两个窗口中,分别从左到右与从右到左移动字符串。3535第10章Java输入输出技术习 题 十一、简答题1.什么叫流?简述流的分类。 2.能否将一个对象写入一个随机访问文件? 3.BufferedReader 流能直接指向一个文件对象吗?为什么? 4.字节流和字符流之间有什么区别? 5.简述可以用哪几种方法对文件进行读写。 6.从字节流到字符流的转化过程中,有哪些注意事项?二、选择题1.实现字符流的写操作类是( B ) ,实现字符流的读操作类是( A ) 。 A.FileReader B.Writer C.FileInputStream D.FileOutputStream 2.要从“file.dat”文件中读出第 10 个字节到变量 c 中,下列哪个方法适合? ( C ) A.FileInputStream in=new FileInputStream(&file.dat&); int c=in.read(); B.RandomAccessFile in=new RandomAccessFile(&file.dat&); in.skip(9); int c=in.readByte(); C.FileInputStream in=new FileInputStream(&file.dat&); in.skip(9); int c=in.read(); D.FileInputStream in=new FileInputStream(&file.dat&); in.skip(10); int c=in.read(); 3.构造 BufferedInputStream 的合适参数是哪些?( AC ) A.BufferedInputStream B.BufferedOutputStream C.FileInputStream D.FileOuterStream E.File 4.在编写 Java Application 程序时,若需要使用到标准输入输出语句,必须在程序的开 头写上( C )语句。 A.import java.awt.* ; B.import java.applet.A C.import java.io.* ; D.import java.awt.G 5.下列流中哪个不属于字符流?( D ) A.InputStreamReader B.BufferedReader C.FilterReader D.FileInputStream 6.字符流与字节流的区别在于( D ) 。 A.前者带有缓冲,后者没有 B.前者是块读写,后者是字节读写 C.二者没有区别,可以互换使用 D.每次读写的字节数不同三、判断题36 1.文件缓冲流的作用是提高文件的读/写效率。 √ ) ( 2.通过 File 类可对文件属性进行修改。 √ ) (363.IOException 必须被捕获或抛出。 √ ) ( 4.Java 系统的标准输入对象是 System.in,标准输出对象有两个,分别是标准输出 System.out 和标准错误输出 System.err。 √ ) ( 5.对象串行化机制是指将程序中对象的状态转化为一个字节流,存储在文件中。 ( √ ) 6.Serializable 接口是个空接口,它只是一个表示对象可以串行化的特殊标记。 √ ) (四、编程题1.使用 File 类列出某一个目录下创建日期晚于
的文件。 2.使用 File 类创建一个多层目录 d:\java\ch10\src。 3.读取一个 Java 源程序,输出并统计其中所用的关键字。 4.编写应用程序,使用文件输出流向文件中分别写入如下类型的数据:int、double 和 字符串。 5.编写应用程序,列出指定目录下的所有文件和目录名,然后将该目录下的所有文件 后缀名为.txt 的文件过滤出来显示在屏幕上。 6.写一程序,读入命令行第一个参数指定的文本文件,将其所有字符转换为大写后写入第 二个参数指定的文件中。3737第11章网络编程技术习 题 十 一一、填空题1.URL 类的类包是(java.net.URL) 。 2.URL.getFile()方法的作用是(获得 URL 实例的文件名) 。 3.URL.getPort()方法的作用是(获得 URL 实例的端口号) 。 4.Sockets 技术是构建在( TCP )协议之上。 5.Datagrams 技术是构建在( UDP )协议之上。 6.ServerSocket.accept()返回( Socket )对象,使服务器与客户端相连。 7.为了实现组播通信,java.net 包中有相应的( MulticastSocket )类。 8.RMI 的英文全称是( Remote Method Invocation,远程方法调用) 。 9.启动 RMIRegistry 服务器的命令是( Start RMIRegistry ) 。二、简答题1.名词解释:TCP、UDP、IP 地址、端口号、URL、套接字、RMI。 2.简述并比较 URL 类的四种构造方法。 3.客户/服务器模式有什么特点?Socket 类和 ServerSocket 类的区别是什么? 4.TCP 通信的特点是什么?画图说明基于 Socket 通信的 C/S 模型与基本算法。 5.UDP 通信的特点是什么?画图说明基于 Datagram 套接字通信的发送和接收流程。 6.画图说明 RMI 的体系结构。 7.简述基于 RMI 的分布式通信编程的基本步骤。三、选择题1.若对 Web 页面进行操作,一般会用到的类是( CD ) 。 A.Socket B.DatagramSocket C.URL D.URLConnection 2.在套接字编程中,客户方需用到 Java 类( C )来创建 TCP 连接。 A.ServerSocket B.DatagramSocket C.Socket D.URL 3.在套接字编程中,服务器方需用到Java类( C )来监听端口。 A.Socket B.URL C.ServerSocket D.DatagramSocket 4.URL 类的 getHost 方法的作用是( A ) 。 A.返回主机的名字 B.返回网络地址的端口 C.返回文件名 D.返回路径名 5.URL 类的 getRef 方法的作用是( A ) 。3838A.返回网页的特定地址 B.返回主机的名字 C.返回路径名 D.返回协议的名字 6.Socket 类的 getOutputStream 方法的作用是( B ) 。 A.返回文件路径 B.返回文件写出器 C.返回文件大小 D.返回文件读入器 7.Socket 类的 getInputStream 方法的作用是( D ) 。 A.返回文件路径 B.返回文件写出器 C.返回文件大小 D.返回文件读入器 8.DatagramSocket 类的 receive 方法的作用是( B ) 。 A.根据网络地址接收数据包 B.根据网络地址与端口接收数据包 C.根据端口接收数据包 D.根据网络地址与端口发送数据包四、程序填空1.下面是基于套接字的服务端程序接收客户程序请求后创建连接,服务程序将收到的 信息在屏幕上打印出来,并回送给客户程序,请在标号处完成程序编写。 package comsoft.nc.tcp. import java.io.*; import java.net.*; public class ServerSocketDemo { public static final int PORT = 28080; public static void main(String[] args) throws IOException { (1)new ServerSocket(PORT) ServerSocket serversocket = (1) ; System.out.println(&Started serversocket: & + serversocket); try { (2)serversocket.accept() Socket socket = (2) ; try { System.out.println(&TCPConnection accepted from: & + socket); (3)socket.getInputStream() BufferedReader in = new BufferedReader(new InputStreamReader( (3) )); PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true); while (true) { String str = in.readLine(); if (str.equals(&End Communications&)) { } System.out.println(&Receive from Client: & + str); out.println(&Echoing from Server: & + str );3939} } finally { System.out.println(&Communications Closing...&); socket.close(); } } finally { (4)serversocket.close() (4) ; } } } 2.下面是基于套接字的客户端程序,客户程序向服务程序发出连接请求,在连接创建 后向服务程序发送信息并接收服务程序的回声在屏幕上打印出来, 请在标号处完成程序编写。 import java.io.*; import java.net.*; public class ClientSocketDemo { public static void main(String[] args) throws IOException { InetAddress ipaddress = InetAddress.getByName(null); System.out.println(&ipaddress = & + ipaddress); (1)new Socket Socket socket = (1) (ipaddress, ServerSocketDemo.PORT); try { System.out.println(&socket : & + socket); (2)socket.getInputStream() BufferedReader in = new BufferedReader(new InputStreamReader( (2) )); PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true); for (int i = 0; i & 10; i++) { (3)out.println (3) (&Message & + i); (4)in.readLine() String str = (4) (); System.out.println(str); } out.println(&End Communications&); } finally { System.out.println(&Communications closing...&);4040socket.close(); } } }五、编程题1.编写一个包含 TextField 和 Label 的 Java Application 程序,其中 TextField 用于接收用 户输入的主机名,Label 用于将这个主机的 IP 地址显示出来。 2.编写 Java Applet 程序,接受用户输入的网页地址,并与程序中事先保存的地址相比 较若两者相同则使浏览器指向该网页。 3.编写 Java Applet 程序,访问并显示或播放在指定 URL 地址处的图像和声音资源。 4.用 Socket 编程,从服务器读取几个字符,再写入本地机器且进行显示。 5.使用 IP 组播协议实现在组播组中发送与接收数据。 6.使用 RMI 设计一个分布式计算程序,由服务程序对客户程序提供的一组数据进行排 序,然后由客户程序从屏幕输出。4141第12章JDBC与数据库访问技术习 题 十 二一、填空题1.JDBC 的基本层次结构由(Java 程序)( JDBC API)(JDBC 驱动程序管理器) 、 、 、 (驱动程序)和数据库五部分组成。 2.根据访问数据库的技术不同,JDBC 驱动程序相应地分为(JDBC-ODBC Bridge) 、 (JDBC-Native API Bridge)( JDBC-Middleware)和(Pure JDBC Driver)四种类型。 、 3.JDBC API 所包含的接口和类非常多,都定义在(java.sql)包和(javax.sql)包中。 4.使用(Class.forName( ))方法加载和注册驱动程序后,由(DriverManager)类负责 管理并跟踪 JDBC 驱动程序,在数据库和相应驱动程序之间建立连接。 5. (java.spl.Connection)接口负责建立与指定数据库的连接。 6. (PreparedStatement) 接口的对象可以代表一个预编译的 SOL 语句, (Statement) 它是 接口的子接口。 7. (ResultSet)接口表示从数据库中返回的结果集。二、简答题1.名词解释:数据库、关系型数据库、字段、记录、SQL、DDL、DML、DCL、JDBC、 BLOB。 2.简述数据定义语言、数据操纵语言和数据查询语言的功能。 3.简述四类 JDBC 驱动程序的特点。 4.画图表示 JDBC 中的各种接口与类之间的关系。 5.简述使用 JDBC 连接 ODBC 数据源、Microsoft SQL Server、Oracle、MySQL 和 IBM DB2 等数据库所对应的 JDBC 驱动程序名和数据库连接的 URL 值。 6.简述使用 JDBC 访问数据库的基本算法。 7.简述 Statement 接口和 PreparedStatement 接口的主要区别。 8.简述 JDBC 4.0 的新增特性。三、程序填空下面的程序采用 JDBC 方式,在 MS SQL Server 数据库管理系统的 DBStudent 数据库中, 对学生表 tblstudent 的学号为&&和 &&的学生的成绩进行修改,并将 修改后的结果在屏幕输出,请完成程序编写。 package comsoft.db.jdbc. import java.sql.*; public class UpdateRecord { public static void main(String[] args) {4242String JDBCDriver = &com.microsoft.jdbc.sqlserver.SQLServerDriver&; // 声明JDBC驱动程序类型 String conURL = &jdbc:microsoft:sqlserver://127.0.0.1:1433;& + &DatabaseName=DBSUser=Password=ok&; // 定义JDBC的URL对象 String[] sno = { &&, &&}; int[] score = { 100, 99}; try { (1)Class.forName(JDBCDriver) (1) ; } catch (ClassNotFoundException e) { System.out.println(&Class.forname:& + e.getMessage()); } try { (2)DriverManager.getConnection Connection con = (2) (conURL); // 修改数据库中数据表的内容 (3)con.prepareStatement PreparedStatement psmt = (3) ( &UPDATE tblstudent set score=? where sno=?&); int i = 0, idlen = sno. do { psmt.setInt(1, score[i]); psmt.setString(2, sno[i]); (4)psmt.executeUpdate() if ( (4) == 1) { System.out.println(&修改数据表:tblstudent中学号为 & + sno[i] + & 的记录成功!&); } else { System.out.println(&错误=数据表:tblstudent中没有学号为 & + sno[i] + & 的记录!&); } ++i; } while (i & sno.length); psmt.close(); // 查询数据库并把数据表的内容输出到屏幕上 Statement smt = con.createStatement(); ResultSet rset = smt.executeQuery(&select * from tblstudent&); while (rset.next()) { System.out.println(rset.getString(&sno&) + &\t& +rset.getString(&sname&) +4343&\t& + rset.getString(&sex&) + &\t& +rset.getInt(&score&)); } smt.close(); con.close(); } catch (SQLException e) { System.out.println(&SQLException:& + e.getMessage()); } } }四、编程题1.设有客户数据表 Customer(CNO,name,sex,principalship,company,telephone,address, background),其中每个字段的类型和含义如下: 字段名 类型 字段说明 CNO Varchar(20) 编号(primary key) Name Varchar(20) 姓名 Sex Varchar(4) 性别 Principalship Varchar(10) 职务 Company Varchar(40) 公司/单位 Telephone Varchar(20) 公司电话 Address Varchar(40) 公司地址 Background Varchar(80) 公司背景 (1)使用 JDBC 在 Access 或 SQL Server 或 Oracle 或 MySQL 中创建数据库 CRMDB。 (2)使用 JDBC 在数据库 CRMDB 中建立上述数据表 Customer。 (3)使用 JDBC 将下面的数据添加到 Customer 表中。 CNO Name Sex Principalship Company Telephone Address Background 2007001 胡振 男 总经理 华夏大邦 8226858 上海 上市公司 2007002 李兴 男 经理 九洲方圆 6182755 北京 上市公司 2008001 江中 女 董事长 时代在线 8372168 长沙 上市公司 2008002 郭华 女 董事长 光华集团 8221089 深圳 上市公司 (4)从 Customer 表中查找“时代在线”公司的基本信息。 (5)将“胡振”的电话改为“021-8226859”。 (6)从 Customer 表中查找全部“男”客户的信息。 (7)删除“2007002”号记录。 2.在 Microsoft SQL Server 中依次创建数据库 DBPhoto 和数据表 tblPhoto(id varchar(50) primary key not null,name varchar(100),description varchar(200),photo image not null)&, 然后将你 的一组照片存储到 tblPhoto 表中,并能方便地存取与浏览照片。 3. 创建一个以 JDBC-ODBC 和纯 Java 的第三方 JDBC 驱动程序方式连接 MS SQL Server 2000、Oracle、MySQL 和 IBM DB2 等各种不同类型数据库的连接工具类。4444第13章JavaBean组件技术习 题 十 三一、简答题1.名词解释:软件组件、软件组件模型。 2.简述什么是 JavaBean。 3.简述 JavaBean 的创建语法,它由哪几部分组成?具有什么特性? 4.简述 JavaBean 的事件操作。二、选择题1.JavaBean 就是( C ) 。 A.JSP B.Servlet C.类 D.对象 2.JavaBean 的属性必须用( C )修饰。 A.public B.protected C.private D.默认 3.JavaBean 的方法必须用( A )修饰。 A.public B.protected C.private D.默认 4.Bound 属性应用的接收器是( B ) 。 A.WindowListener B.PropertyChangeListener C.ActionListener D.CarpetListener 5.Constrained 属性应用的接收器是( D ) 。 A.KeyListener B.PropertyChangeListener C.WindowListener D.VetoableChangeListener三、编程题1.编写一个能显示日历的 JavaBean。 2.编写一个提供累加和累乘方法的 JavaBean。 3.编写一个可以作为动作接收器的 JavaBean。4545参 考 文 献[1] J2SE 5.0 Documentation./javase/downloads/index_jdk5.jsp [2] The JavaTM Tutorials, Learning the Java Language./docs/books/tutorial [3] [美] Bruce Eckel.JAVA 编程思想(英文版?第 4 版) .北京:机械工业出版社,2007 [4] [美]Roger Garside, John Mariani 著.Java 教程(英文版? 第 2 版) .北京:机械工业出版 社,2003 [5] 李芝兴等编著.Java 程序设计之网络编程.北京:清华大学出版社,2006 [6] 吕凤翥,马皓编著.Java 语言程序设计.北京:清华大学出版社, 2006 [7] 孙卫琴编著.Java 面向对象编程.北京:电子工业出版社, 2006 [8] [美]Cay S. Horstmann, Gary Cornell 著,叶乃文,邝劲筠译.Java 2 核心技术卷Ⅰ:基础知识 (原书第 7 版) .北京:机械工业出版社,2006 [9] [美]Cay S. Horstmann, Gary Cornell 著,陈昊鹏,王浩,姚建平等译.Java 2 核心技术卷Ⅱ: 高级特性(原书第 7 版) .北京:机械工业出版社,2006 [10] 吴其庆编著.Java 编程思想与实践.北京:冶金工业出版社, 2006 [11] 张白一等编著.面向对象程序设计 JAVA(第二版) .西安:西安电子科技大学出版社, 2005 [12] 王晓悦编著. 精通 Java ―JDK、 数据库系统开发、 Web 开发. 北京: 人民邮电出版社,2007 [13] 吴亚峰,王鑫磊编著.精通 NetBeans ―Java 桌面、Web 与企业级程序开发详解.北京: 人民邮电出版社,20074646
(Hour+&时&+Minute+&分&+Second+&秒&); } } 2.9 import java.util.*; public class Dollarbill { public static void main(String[] args) { float ...Java程序设计教程答案_IT/计算机_专业资料。Java程序设计教程答案项目一 认识 Java 一.选择题 1. D 2. B 3. D 4. D 二.简答题 1.Java 语言有三个技术分...《Java语言程序设计基础教程》习题解答_理学_高等教育_教育专区。清华大学出版 龚。罡《Java 语言程序设计基础教程》 练习思考题参考答案 2 《Java 语言程序设计基础...JavaWeb 程序设计 习题参... 13页 免费 java程序设计实用教程 (... 47页 ...Java 整型常量的是( A ) A.078 B.0x3ACB C.5000 D.0x3ABC 6.设有如下...JAVA程序设计习题库及答案... 67页 免费 JAVA2简明教程习题答案 25页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈...《Java程序设计任务驱动式教程 》习题答案_理学_高等教育_教育专区。2.6.1 简答题 1. java 小程序需要内嵌于网页中,就像 flash 做的动画要在 flash player 里...Java程序设计实例教程考试题_其它_高等教育_教育专区。java基程序设计实例教程考试题 Java 程序设计练习题 一、选择题 1、为使 Java 程序独立于平台,Java 虚拟机...第7章习题参考答案_理学_高等教育_教育专区。Java程序设计案例教程(第二版)周怡...在编程中,可以不用进行异常的处理,因为有时发生的异常并不会影响程序的正常 ...《Java语言程序设计基础教程》习题解答_计算机软件及应用_IT/计算机_专业资料。《Java 语言程序设计基础教程》 练习思考题参考答案 2 《Java 语言程序设计基础教程》...java程序设计实用教程_(第3版)、_课后答案_理学_高等教育_教育专区。第一章 ...(a,b)用递归方法实现, 辗转相除法题意见例 2.11,再设计下列方法: (1)求...
All rights reserved Powered by
copyright ©right 。文档资料库内容来自网络,如有侵犯请联系客服。