1、浙江工商大学Java 程序设计课程考试试卷第 1 页 共 10 页浙江工商大学 2006 /2007 学年第一学期考试试卷课程名称: Java 程序设计 考试方式: 闭卷 完成时限: 120 分钟班级名称: 学号: 姓名: 题号 一 二 三 四 五 六 七 八 九 十 总分分值得分阅卷人一、选择题(每题 2 分,共 30 分)1、Java 程序的执行过程中用到一套 JDK 工具,其中 java.exe 是指 。 A.Java 文档生成器 B.Java 解释器 C.Java 编译器 D.Java 类分解器 2、Java 语言中,下列标识符错误的是 。A.sys1 B. int a,c; c=x/
2、100; a=x%10; A) 1,2 B) 2,1 C) 1.82, 2 D) 100,82 4、应用程序的 main 方法中有以下语句,则输出的结果是 。String s1=“0.5“,s2=“12“; double x=Double.parseDouble(s1);int y=Integer.parseInt(s2);System.out.println(x+y);A) 12.5 B) 120.5 C) 12 D) “12.5” 5、下列程序段执行后的结果是 。 String s=new String(“abcdefg“);浙江工商大学Java 程序设计课程考试试卷第 2 页 共 10
3、页for(int i=0;is.length();i+=2)System.out.print(s.charAt(i); A) aceg B) ACEG C) abcdefg D) abcd 6、Java 编程所必须的默认引用包为 。 A.java.sys 包 B.java.lang 包 C.java.new 包 D.以上都不是 7、执行下列代码后, 结论是正确的 String s=new String10 ; A.s10为 B.s9为 null C.s0为未定义 D.s.length 为 101 8、定义一个类名为“MyClass.java”的类,并且该类可被一个工程中的所有类访问,那么该类的
4、正确声明应为 。A.private class MyClass extends Object B.class MyClass extends Object C.public class MyClass D.private class MyClass extends Object 9、JAVA 程序经常用到 “递归 ”, “递归”的基本思想是 。 A.“让别人反复调用自己” B. “自己反复调用别人 ” C.“自己反复调用自己” D.以上说法都不对10、Java 中访问限定符不包括 。A.public B.private C.default D.final 11、Applet 类的直接父类是 。
5、A.Component 类 B.Container 类 C.Frame 类 D.Panel 类12、Frame 的默认的布局管理器是下列哪一个 。A.FlowLayout B.BorderLayout C.GridLayout D.CardLayout 13、在下列事件处理机制中 不是机制中的角色。 A.事件 B. 事件源 浙江工商大学Java 程序设计课程考试试卷第 3 页 共 10 页C.事件接口 D.事件处理者14、 、下面属于 Java 线程同步方法的方法有( ) 。A.joiny() B.run() C.wait() D.destroy() 15、下列说法不正确的是 。 A.IOEx
6、ception 必须被捕获或抛出 B.java 语言会自动初始化变量的值 C.java 语言不允许同时继承一个类并实现一个接口 D.java 语言会自动回收内存中的垃圾二、多选题 (每题至少有一个正确答案,多选少选都不给分,每题 2 分,共 10 分)16、下面的说法正确的是 。A.Java 语言是面向对象的、解释执行的网络编程语言。B.Java 语言具有可移植性,是与平台无关的编程语言。C.Java 语言可对内存垃圾自动收集。D.Java 语言编写的程序虽然是“一次编译,到处运行” ,但必须要 java 的运行环境。17、.定义变量如下:char c=w; int i=8; long L=1
7、5; float f=8.9f;以下赋值语句正确的是 。A) i=c+i; B) c=c+i; C) L=f+L; D) f=i+L+f; 18、.面向对象程序设计的基本特征是 。A)抽象 B)封装 C)继承 D)多态 19. 编译并运行下面的程序,运行结果为 。public class T1 public static void main (String args)T1 a=new T1();a.method(8);a.method(1.2f); void method(float i) System.out.println(“float: “+i);浙江工商大学Java 程序设计课程考试试
8、卷第 4 页 共 10 页void method(long i) System.out.println(“long: “+i);A)程序有编译错误,因为两个 method()方法必须定义为静态( static)的。B)程序可以编译运行,输出结果为:long: 8float: 1.2C)程序可以编译运行,输出结果为:float: 1.2long: 8D) 程序中定义的两个参数不同的 method 方法称为方法重栽。 20、下面是在命令行运行 Java 应用程序 A,怎样才能在 main(String args)方法中访问单词“first“ 。java A the first snow , the
9、 first snow came.A)args0 B)args1 C)args2 D)args5 三、 填空题(每空格 2 分,共 20 分)21、基类的公有成员在派生类中的访问权限由 基类 决定。22、派生类从一个或多个以前定义的该类的 父类 继承数据和函数。23、程序中实现多线程的方法有两种:继承_thread_类和实现 Runnable 接口。24、Java 语言中, 通常把可能发生异常的方法调用语句放到 try 块中,并用紧跟其后的 catch_块来捕获和处理异常。25、编写同时具有 Applet 与 Application 的特征的程序。具体方法是:作为 Application 要定
10、义 main()方法,并且把 main()方法所在的类定义一个 公共 类。为使该程序成为一个 Applet,main()方法所在的这个类必须继承 Applet 类或 JApplet 类。26、能将显示空间分成很多层的布局管理器是_。27、使用 Swing 编写 Applet,则该 Applet 的主类应该定义为 _28、任何一个 Java 程序都默认引入了一个包,这个包的名字叫 java. _lang_。浙江工商大学Java 程序设计课程考试试卷第 5 页 共 10 页29、Java 程序可以分为两种:应用程序和_小应用程序_。30、接口中的成员只有静态常量和_成员方法_。四、阅读程序题(本大
11、题 4 小题,每小题 5 分,共 20 分)1. (5 分 )1: public class Output1 2: public static void main(String arge) 3: int i=0;4: for ( char ch = 97; ch113; ch+,i+) 5: if( i % 8 = 0 ) 6: System.out.println(“ “);7: System.out.print(“t“ +ch); 8: 9: 10: (1)程序第 5、6 行的 if 语句的功能是什么? (2 分) (2)程序输出的结果有几行?(3 分)每输出 8 个字符换行 3 行2、(
12、5 分 )1: import java.util.Arrays;2: 3: public class SortArray 4: public static void main(String args) 5: String str = “size“, “abs“,“length“,“class“;6: Arrays.sort(str);7: for (int i=0; istr.length; i+)8: System.out.print(stri+“ “);9: 10: (1)写出程序运行后的结果。(2 分) abs class length size(2)方法调用 str0.length()
13、的返回结果是多少?(3 分) 4浙江工商大学Java 程序设计课程考试试卷第 6 页 共 10 页3. (5 分)1: /TestKeyListener.java2: import java.applet.Applet;3: import java.awt.*;4: import java.awt.event.*;5: 6: public class TestKeyListener extends Applet 7: 8: Color clr;9: 10: public void init() 11: 12: addKeyListener(13: new KeyAdapter() 14: pu
14、blic void keyTyped( KeyEvent e ) 15: if(e.getKeyChar()=r|e.getKeyChar()=R)16: clr=Color.red;17: else if(e.getKeyChar()=g|e.getKeyChar()=G)18: clr=Color.green;19: else if(e.getKeyChar()=b|e.getKeyChar()=B)20: clr=Color.blue;21: else 22: clr=Color.black; 23: setBackground(clr);24: 25: ); 26: 27: 浙江工商大
15、学Java 程序设计课程考试试卷第 7 页 共 10 页(1)程序第 15、16 行实现的功能是什么?(2 分)如果键入字符 r 或 R,则 颜色设置为红色(2)编译该程序,并编写嵌入该程序字节码文件的网页后,通过支持 java 的浏览器打开网页。如果敲击键盘的b键,有什么结果?(3 分) 则背景色为蓝色4. (5 分 )import java.util.*;public class W static String s=“甲“,“乙“,“丙“,“ 丁“;public static void main(String args) Stack stk=new Stack(); for(int i=0
16、;is.length;i+) stk.push(si+“ “);int k=0;while(k3) System.out.print(stk.pop(); k+; (1)堆栈的操作规则如何?(2 分) (2)写出程序运行后的结果。(3 分)后进先出 丁 丙 乙 甲五、编程题 (本大题 2 小题,每小题 10 分,共 20 分)1、请定义一个名为 Card 的扑克牌类,该类有两个 private 访问权限的字符串变量 face 和 suit:分别描述一张牌的牌面值(如:A、 K、Q、J、10、9、3、 2 等)和花色(如:“黑桃” 、 “红桃” 、 “梅花”和“方块” ) 。定义 Card 类中
17、的 public 访问权限的构造方法,为类中的变量赋值;定义 protected 访问权限的方法 getFace(),得到扑克牌的牌面值; 定义 protected 访问权限的方法 getSuit(),得到扑克牌的花色; 定义方法 toString(),返回表示扑克牌的花色和牌面值字符串(如“红桃 A”、 “梅花 10”等)。浙江工商大学Java 程序设计课程考试试卷第 8 页 共 10 页2、若应用程序的 main 方法中,定义字符串数组 f 和 s: 分别表示扑克牌的牌面值和花色;定义 52 个元素的 Card 类型数组 deck,用来存放 4 个花色的 52 张牌。如下所示。String
18、 f = “A“, “2“, “3“,“4“, “5“, “6“, “7“, “8“,“9“, “10“, “J“, “Q“, “K“ ;String s = “黑桃“, “红桃“, “梅花“, “方块“ ;Card deck = new Card 52 ;(1)使用 Card 类的构造方法给 deck 数组的 52 张牌赋值,要求数组中先存放黑桃花色的 A、2、3、K;然后是红桃花色的 A、2、3 、K ;梅花花色的 A、2 、3、K;方块花色的 A、2、3 、K。请写出实现上述功能的程序段。public class card private String face,suit;public
19、card(String a,String b)face=new String(a);suit=new String(b);protected String getface()return face;protected String getsuit()return suit;浙江工商大学Java 程序设计课程考试试卷第 9 页 共 10 页public String toString()return (suit+face);public static void main(String args) int i;int count=0;String f = “A“, “2“, “3“, “4“, “
20、5“, “6“, “7“, “8“, “9“, “10“, “J“, “Q“, “K“ ;String s = “黑桃“, “红桃“, “梅花“, “方块“ ;card deck = new card 52 ;for(i=0;i52;i+)if(i=12)decki=new card(fcount%13,s0);else if(12i)else if(25i)elsedecki=new card(fcount%13,s3);count+;for(i=0;i52;i+)System.out.println(decki.toString();浙江工商大学Java 程序设计课程考试试卷第 10 页 共 10 页