XXXXXX大学XXX学院 《Java程序设计》课程期末考试卷 (200x一200x学年第x学期)本科口专科☑ A卷和B卷☑C卷 (考试时间120分钟) 题号 三 四 五 总分 分数 一、单选题(本大题共20个小题,每小题1分,共20分) 得分评阅人门 () 野 1、下列程序段执行后的结果是()。 for(int System.out.print(s.charAt(i)) A)aceg B)ACEG C)abcdefg D)abed 2、有整型数组:int0x={12,35,8,7,2},则调用方法Arrays.sort(x)后,数组x中 元素值依次是(). A)2 78 1235 B)12358 7 2 C)35 D)8 12 3、下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文 件夹下的文件I.txt。F1le构造函数中正确的路径和文件名的表示是()。 File f=new File(填代码处; file=new FileReader(f), A)"/1.txt" B)"../my/1.txt" C)"c:\myM1.txt" D)"c:\my\l.txt" 4、应用程序的main方法中有以下语句,则输出的结果是()。 String s1=new String("abe"). 的 String s2- -new String("abe") boolean b1=s1.equals(s2), boolean b2=(s1==s2); System.out.print(b1+" +b2: A)true false b)false true C)true tre D)false false 5、应用程序的main方法中有以下语句,则输出的结果是()。 第1顶共11页
XXXXXX 大学 XXX 学院 第 1 页 共 11 页 《Java 程序设计》课程 期末考试卷 (200x—200x 学年 第 x 学期) 本科□ 专科 A 卷□ B 卷 C 卷□ (考试时间 120 分钟) 题号 一 二 三 四 五 总分 分数 一、单选题(本大题共 20 个小题,每小题 1 分,共 20 分) 得分 评阅人 1、下列程序段执行后的结果是( )。 String s=new String("abcdefg"); for(int i=0;i<s.length();i+=2){ System.out.print(s.charAt(i)); } A) aceg B) ACEG C) abcdefg D) abcd 2、有整型数组:int[] x={12,35,8,7,2};,则调用方法 Arrays.sort(x)后,数组 x 中 的元素值依次是( ). A) 2 7 8 12 35 B) 12 35 8 7 2 C) 35 12 8 7 2 D) 8 7 12 35 2 3、下面的程序段创建了 BufferedReader 类的对象 in,以便读取本机 c 盘 my 文 件夹下的文件 1.txt。File 构造函数中正确的路径和文件名的表示是( )。 File f=new File(填代码处); file=new FileReader(f); in=new BufferedReader(file); A) "./1.txt" B) "../my/1.txt" C) "c:\\my\\1.txt" D) "c:\ my\1.txt" 4、应用程序的 main 方法中有以下语句,则输出的结果是 ( )。 String s1=new String("abc"); String s2=new String("abc"); boolean b1=s1.equals(s2); boolean b2=(s1==s2); System.out.print(b1+" "+b2); A)true false B) false true C) true true D)false false 5、应用程序的 main 方法中有以下语句,则输出的结果是 ( )。 (密封线内勿答题) 姓名 学号 学院(系) 专业 年级 班(密封线内勿答题)
XXXXXX大学XXX学院 Hashtable hashtable= ew HashtableO hashtable.put() hashtable.put("y","67890"). hashtable.put("a"."abcde"): System.out.println(hashtable.get("a")). A)a B)abcde C)12345 D)67890 6 下面的程序编译运行后输出的结果是( public class Test{ public static void main(String args[) X a=new X(){ public void showx( System.out.println(a-b): } a.showX(); class X int a=5,b=3. public void showX() System.out.println(a+b); } } A)-2 B)8 C)5 D)3 7、下面语句的功能是() RandomAccessFile raf2 new RandomAccessFile("1.txt","rw"); A)打开当前目录下的文件1xt,既可以向文件写数据,也可以从文件读数据。 B)打开当前目录下的文件1.xt,但只能向文件写入数据,不能从文件读取数据 C)打开当前目录下的文件1.xt,但不能向文件写入数据,只能从文件读取数据 D)以上说法都不对 8、应用程序的main方法中有以下语句,则输出的结果是()。 String s="12345#aaa#bbb#67890"; int n=s indexof("#) int k=s.indexOf("#".n+1). int m=s.indexOf("#".k+1) String s2=s.substring(m+1); System.out.println(s2); A)123456 B67890 C)aaa D)bbb ,下面程序段执行后b的值是( Integer integ-new Integer(9) boolean b=integ instanceof Object; A)9 B)true CI D)false I0、应用程序Test.java的源程序如下,在命令行键入: java Test aaa bb c 第2页共11页
XXXXXX 大学 XXX 学院 第 2 页 共 11 页 Hashtable hashtable=new Hashtable(); hashtable.put("x","12345"); hashtable.put("y","67890"); hashtable.put("a","abcde"); System.out.println(hashtable.get("a")); A) a B) abcde C) 12345 D) 67890 6、下面的程序编译运行后输出的结果是( )。 public class Test { public static void main(String args[]) { X a=new X( ) { public void showX() { System.out.println(a-b); } }; a.showX(); } } class X { int a=5,b=3; public void showX() { System.out.println(a+b); } } A) -2 B) 8 C) 5 D) 3 7、下面语句的功能是( )。 RandomAccessFile raf2 = new RandomAccessFile("1.txt","rw" ); A)打开当前目录下的文件 1.txt,既可以向文件写数据,也可以从文件读数据。 B)打开当前目录下的文件 1.txt,但只能向文件写入数据,不能从文件读取数据。 C)打开当前目录下的文件 1.txt,但不能向文件写入数据,只能从文件读取数据。 D) 以上说法都不对。 8、应用程序的 main 方法中有以下语句,则输出的结果是 ( )。 String s="12345#aaa#bbb#67890"; int n=s.indexOf("#"); int k=s.indexOf("#",n+1); int m=s.indexOf("#",k+1); String s2=s.substring(m+1); System.out.println(s2); A)123456 B)67890 C) aaa D) bbb 9、下面程序段执行后 b 的值是( )。 Integer integ =new Integer(9); boolean b = integ instanceof Object; A) 9 B) true C) 1 D) false 10、应用程序 Test.java 的源程序如下,在命令行键入: java Test aaa bb c
XXXXXX大学XXX学院 回车后输出的结果是()。 public class Test int kl=args.length; int k2=args[1].length(); System.out.print(k1+" "+k2) A)32 B)12 C)1 3 D)3 1l、应用程序的main方法中有以下语句,则输出的结果是()。 intb00={1},{2,2,{2,2,2} int sum=0 for(int i-0.imax) max =x[i] System.out.println(max); A)125 B)5 C)98 D)168 15、程序Test.java编译运行后输出的结果是() public class Test 第3顶共11页
XXXXXX 大学 XXX 学院 第 3 页 共 11 页 回车后输出的结果是 ( )。 public class Test { public static void main(String args[]) { int k1=args.length; int k2=args[1].length(); System.out.print(k1+" "+k2); } } A)3 2 B)1 2 C) 1 3 D) 3 3 11、应用程序的 main 方法中有以下语句,则输出的结果是 ( )。 int b[][]={{1}, {2,2}, {2,2,2}}; int sum=0; for(int i=0;i max) max =x[i]; } System.out.println(max); A) 125 B) 5 C) 98 D) 168 15、程序 Test.java 编译运行后输出的结果是( )。 public class Test {
XXXXXX大学XXX学院 String sl-"java" public static void main(String args) Int Z=2; Test t=new Test(): System.out.println(t.s1+z); A)java2 B)2 C)没有输出结果 D)java 16、应用程序的mai方法中有以下语句,则输出的结果是()。 String s1="0.5",s2="12" double x=Double.parseDouble(s1). int y=Integer.parseInt(s2). System.out.printIn(xty); 2面的程序我输出的结架。 A)12.5 B)120. D)“12.5 StringBuffer buf-new StringBuffer("Beijing2008"). buf.insert(7,"@")方 ABn out.printIn(buf.toString( B)Beijing2@008 C)Beijing 2008(a D)Beijing20@08 18、下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据, 假设程序当前目录下不存在文件test.tt,编译下面的程序Test.java后,将该程序 运行3次,则文件test.txt的内容是()。 import java io. public class Test public static void main(String args[) try String s="ABCDE" byte b[]=s.getBytes( FileOutputStream file=new FileOutputStream("test.txt",true): file write(b file close0: catch(IOExceptione) System.out.println(e.toStringO). A)ABCABC B)ABCDE C)Test DABCDEABCDEABCDE 19、下面那些方法不是接口Cole 中已声明的方法( A 加元素的add()方法 B)删除元素的remove(Object obj)方法 C)得到元素个数的1 ength()方法 D)返回迭代器的iterator()方法,迭代器用于元素遍历 第4页共11页
XXXXXX 大学 XXX 学院 第 4 页 共 11 页 String s1="java"; public static void main(String args[]) { int z=2; Test t=new Test(); System.out.println(t.s1+z); } } A) java2 B)2 C)没有输出结果 D)java 16、应用程序的 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” 17、下面的程序段执行后输出的结果是( )。 StringBuffer buf=new StringBuffer("Beijing2008"); buf.insert(7,"@"); System.out.println(buf.toString()); A) Beijing@2008 B) Beijing2@008 C) Beijing2008@ D) Beijing20@08 18、下面的程序创建了一个文件输出流对象,用来向文件 test.txt 中输出数据, 假设程序当前目录下不存在文件 test.txt,编译下面的程序 Test.java 后,将该程序 运行 3 次,则文件 test.txt 的内容是( )。 import java.io.*; public class Test { public static void main(String args[]) { try { String s="ABCDE"; byte b[]=s.getBytes(); FileOutputStream file=new FileOutputStream("test.txt",true); file.write(b); file.close(); } catch(IOException e) { System.out.println(e.toString()); } } } A) ABCABC B) ABCDE C)Test D) ABCDEABCDEABCDE 19、下面那些方法不是接口 Collection 中已声明的方法( )? A)添加元素的 add(Object obj) 方法 B)删除元素的 remove(Object obj)方法 C)得到元素个数的 length()方法 D)返回迭代器的 iterator()方法,迭代器用于元素遍历
XXXXXX大学XXX学院 20、关于下面的程序的说法不正确的是()。 public class Test implements Runnable String name public Test(String s) name=s: public static void main(String]args) Thread d (new Test("111")); 8 Thread thread =new Thread (new Test(222)). 9 thread1.start() 10 thread2.startO; 11 public c void run() System.out.print(name). 14 15: A)程序第12~l4行的un方法是Runnable接口中的方法。 B)程序第9、10行的方法调用的功能是分别启动两个线程对象threadl和thread2。 C)程序能编译运行, 输出结里,111222 D)程序能编译运行,但没有任何结果输出 二、多选题(本大题共10个小题,每小题2分,共20分) 得分评阅人 21、下面main(方法的定义哪些是正确的()? A)public static void main(String args[)B)public static void main(String) C)public static void main(Stringn ar 22下面是在金令行运行用程人儿 Dpublic static void main(String n x) 怎样才能在main(String args[)方法 中访问单词"first"( java A the first snow,the first snow came. A)args[0] D)args[5] 23、线程对象的生命周期中,通常经历下面哪些状态( A)新建 B)运行 C)就绪 D)死亡 24、下面说法正确的是()。 A)inal可修饰类、属性(变量、方法 B)abstract可修饰类 万法 C)抽象方法只有方法头,没有方法体。 D)关键字final和abstract不能同时使用。 25、下面关于java中输入/输出流的说法正确的是()。 A)FileInputS ream与Fileo tputStream类用读、写字节流 B)Reader与riter类用来 字符流 C)RandomAccessFile既可以用来读文件,也可以用来写文件。 D)File类用来处理与文件相关的操作。 第5顶共11页
XXXXXX 大学 XXX 学院 第 5 页 共 11 页 20、关于下面的程序的说法不正确的是()。 1: public class Test implements Runnable { 2: String name; 3: public Test(String s){ 4: name=s; 5: } 6: public static void main (String[] args) { 7: Thread thread1=new Thread (new Test("111")); 8: Thread thread2=new Thread (new Test("222")); 9: thread1.start(); 10: thread2.start(); 11: } 12: public void run () { 13: System.out.print(name); 14: } 15: } A)程序第 12~14 行的 run 方法是 Runnable 接口中的方法。 B)程序第 9、10 行的方法调用的功能是分别启动两个线程对象 thread1 和 thread2。 C)程序能编译运行,输出结果:111222。 D)程序能编译运行,但没有任何结果输出。 二、多选题(本大题共 10 个小题,每小题 2 分,共 20 分) 得分 评阅人 21、下面 main()方法的定义哪些是正确的( )? A)public static void main(String args[]) {} B)public static void main(String[]) {} C)public static void main(String[] args) {} D)public static void main(String [] x) {} 22、下面是在命令行运行 Java 应用程序 A,怎样才能在 main(String args[])方法 中访问单词"first" ( )? java A the first snow , the first snow came. A)args[0] B)args[1] C)args[2] D)args[5] 23、线程对象的生命周期中,通常经历下面哪些状态( )。 A)新建 B)运行 C)就绪 D)死亡 24、下面说法正确的是( )。 A)final 可修饰类、属性(变量)、方法。 B) abstract 可修饰类、方法。 C)抽象方法只有方法头,没有方法体。 D)关键字 final 和 abstract 不能同时使用。 25、下面关于 java 中输入/输出流的说法正确的是( )。 A) FileInputStream 与 FileOutputStream 类用读、写字节流。 B) Reader 与 Writer 类用来读、写字符流。 C) RandomAccessFile 既可以用来读文件,也可以用来写文件。 D) File 类用来处理与文件相关的操作
XXXXXX大学XXX学院 26、下面说法正确的是(). 八)如果某公共的接口被声明在一个源文件中,则接口必须与源文件具有相同的名 字。 B)如果源文件包含import语句,则该语句必须是除空行和注释行外的第一个语 句行。 C)如果某源文件包含package语句,则该语句必须是第一个非空、非注释行。 D)接口中的方法必定是抽象方法,但可以不用关键字abstract修饰。 27、下面关子 a中异常处到 W块的说法正确的是 1 A)ty块后通常应有一个catch块,用来处理ty块中抛出的异常 B)catch块后必须有finally块。 C)可能抛出异常的方法调用应放在ty块中。 D)对抛出的异常的处理必须放在y块中 28、下面关于对象串行化(Serializable)的说法正确的是( 个类实现接口Serializable就能使之串行化,对象串行化并没有具体方法需 B)一个对象串行化后,能通过对象流读取对象或写入对象。 C)用transient关键字修饰的变量将不参与串行化。 D)串行化一个类,必须保证在恢复时java虚拟机能找到这个类的.class文件,否 则将会出现ClassNotFot 29、 下面关于进程、线程的说法正确的是( A)进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线 程 多线程,形成多条执行线索。 B)线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的 控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行 C)ava多线程的运行与平台相关 D)对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。对 于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。 30、关于BufferedReader类的readLine()方法,以下说法正确的是()。 A)方法readLine每次读取一行数据。 B)方法readLine()海次读 一个字 节 C)该方法可能抛出IOException异常,调用该方法时通常应将它放到try块中, 并通过catch块处理异常。 D)如果读到流的末尾,该方法返回的结果为nul。 三、填空题(本大题共5个小题,每小题4分,共20分) 得分评阅人 31、若要输出以下格式的时间: 2006年10月21日星期六22时29分27秒 请将下面的程序段补充完整: SimpleDateFormat dateFormat2=new SimpleDateFormat((1)) Svstem out printIn(dateFormat2. 2) (new Date().getTime())): 第6页共11页
XXXXXX 大学 XXX 学院 第 6 页 共 11 页 26、下面说法正确的是( )。 A)如果某公共的接口被声明在一个源文件中,则接口必须与源文件具有相同的名 字。 B)如果源文件包含 import 语句,则该语句必须是除空行和注释行外的第一个语 句行。 C)如果某源文件包含 package 语句,则该语句必须是第一个非空、非注释行。 D)接口中的方法必定是抽象方法,但可以不用关键字 abstract 修饰。 27、下面关于 Java 中异常处理 try 块的说法正确的是( )? A) try 块后通常应有一个 catch 块,用来处理 try 块中抛出的异常。 B) catch 块后必须有 finally 块。 C)可能抛出异常的方法调用应放在 try 块中。 D)对抛出的异常的处理必须放在 try 块中 28、下面关于对象串行化(Serializable)的说法正确的是( )。 A)一个类实现接口 Serializable 就能使之串行化,对象串行化并没有具体方法需 要实现。 B)一个对象串行化后,能通过对象流读取对象或写入对象。 C)用 transient 关键字修饰的变量将不参与串行化。 D)串行化一个类,必须保证在恢复时 java 虚拟机能找到这个类的.class 文件,否 则将会出现 ClassNotFoundException。 29、下面关于进程、线程的说法正确的是( )。 A)进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线 程——多线程,形成多条执行线索。 B)线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的 控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。 C)Java 多线程的运行与平台相关。 D)对于单处理器系统,多个线程分时间片获取 CPU 或其他系统资源来运行。对 于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。 30、关于 BufferedReader 类的 readLine()方法,以下说法正确的是()。 A)方法 readLine()每次读取一行数据。 B)方法 readLine()每次读取一个字节。 C)该方法可能抛出 IOException 异常,调用该方法时通常应将它放到 try 块中, 并通过 catch 块处理异常。 D)如果读到流的末尾,该方法返回的结果为 null。 三、填空题(本大题共 5 个小题,每小题 4 分,共 20 分) 得分 评阅人 31、若要输出以下格式的时间: 2006 年 10 月 21 日星期六 22 时 29 分 27 秒 请将下面的程序段补充完整: SimpleDateFormat dateFormat2= new SimpleDateFormat(_____(1)_____); System.out.println(dateFormat2._____ (2)______(new Date().getTime()));
XXXXXX大学XXX学院 32、若某个方法的方法体中产生了异常,方法体中应通过关键字 (1)抛 出该异常对象。若某类的对象已声明,但没有被实例化,当调用对象的方法时, 批出的显常米刑是 类MulThread实现了Runnable接口,通过MulThread类对象创建线程对象 t1的语句是: 1) 线程t1可通过方法调用 2 启动。 34、假定一个英文表示的地址格式要求是:数字号码(至少1个),然后是一个或 多个空格隔开,然后是一个单词(至少两个字母)表示的地名,或用空格隔开的两 个单词(至少两个字母)表示的地名,例如 ,就是符合要 求的地址格式 下面应用程序的 方法中使用JOptionPane 输入 话框输入地址 通过正则字符串和字符串类的matches(0方法判断是否为地址格 式要求的地址。请完成程序填空。 import javax.swing. 4; thod! public static void main(String args[]) String regex= (1) String input=-JOptionPane.showInputDialog("请输入地址"方 (2) System.out.printn(input+-"是有效的地址!") else System.out.printn(input+-"不是有效的地址!")方 A 35、下面的程序的功能是:读取当前目录下的英文本本文件word.txt,并统计不 同单词(不区分大小写)在文章中出现的次数,并将结果保存到当前目录下的文 本文件1.txt中,请将程序补充完整。 import java.io. import java.util public static void main(String]args)throws IOException TreeMap map=new TreeMapO; BufferedReader in=new BufferedReader(new FileReader("word.txt")); String line: while((line=in.readLine()!=null){ String Tokenizer st=new StringTokenizer(line) while(st.hasMoreTokens()) String word=st.nextToken().toLowerCase(); Object obj=map.get(word). if(obj==null) else Integer count=(Integer)obj: map.put(word.new Integer(count.int Value()+1)). 第7成共11页
XXXXXX 大学 XXX 学院 第 7 页 共 11 页 32、若某个方法的方法体中产生了异常,方法体中应通过关键字____(1)____抛 出该异常对象。若某类的对象已声明,但没有被实例化,当调用对象的方法时, 抛出的异常类型是:___(2)___。 33、类 MulThread 实现了 Runnable 接口,通过 MulThread 类对象创建线程对象 t1 的语句是:____(1)____。线程 t1 可通过方法调用____(2)_____启动。 34、假定一个英文表示的地址格式要求是:数字号码(至少 1 个),然后是一个或 多个空格隔开,然后是一个单词(至少两个字母)表示的地名,或用空格隔开的两 个单词(至少两个字母)表示的地名,例如: 5 waiganxijie Beijing,就是符合要 求的地址格式。下面应用程序的 main 方法中使用 JOptionPane 类的文本输入对 话框输入地址,通过正则字符串和字符串类的 matches()方法判断是否为地址格 式要求的地址。请完成程序填空。 import javax.swing.*; import java.util.regex.Pattern; public class UseMatchesMethod{ public static void main( String args[] ) { String regex=____(1)_____; String input=JOptionPane.showInputDialog("请输入地址"); if(____(2)____) System.out.println(input+"是有效的地址!"); else System.out.println(input+"不是有效的地址!"); } } 35、下面的程序的功能是:读取当前目录下的英文本本文件 word.txt,并统计不 同单词(不区分大小写)在文章中出现的次数,并将结果保存到当前目录下的文 本文件 1.txt 中,请将程序补充完整。 import java.io.*; import java.util.*; public class SortWord{ public static void main(String[] args)throws IOException{ TreeMap map=new TreeMap(); BufferedReader in=new BufferedReader(new FileReader("word.txt")); String line; while((line=in.readLine())!=null){ StringTokenizer st=new StringTokenizer(line); while(st.hasMoreTokens()){ String word=st.nextToken().toLowerCase(); Object obj=map.get(word); if(obj==null){ _________________; } else { Integer count=(Integer)obj; map.put(word,new Integer(count.intValue()+1));
XXXXXX大学XXX学院 in.close(); List keys=new ArrayList(map.keySet()); Print Writer out=new PrintWriter( eys.iterator). while(iterator.hasNext()) Object key=iterator.next(), out.println(key+":"+map.get(key)). out.close(). } 四、程序阅读题(本大题共4个小题,每小题6分,共24分) 得分评阅人 36、阅读下面的程序,回答问题(0问3分,®问3分,共6分)。 import lava awt import javax.swing. public class TextendsJFrame{ T() super("GridLayout"); Container con=this.getContentPaneO; con.setLayout(new GridLayout(2,3)). con.add(new JButton("a")); con.add(new JButton con.add(new JButton("") con add(new JButton("d")) con.add(new JButton("e")); con.add(new JButton("f")); setSize(200 80) setVisible(true). public static void main(String args[){ new TO: 画图表示程序运行后的图形界面 ©如果程 通过实现某个接口处理按钮的动作事件,则该接口名为何?接口中的 方法头声明如何? 第8页共11页
XXXXXX 大学 XXX 学院 第 8 页 共 11 页 } } } in.close(); List keys=new ArrayList(map.keySet()); PrintWriter out=new PrintWriter(______________); Iterator iterator=keys.iterator(); while(iterator.hasNext()){ Object key=iterator.next(); out.println(key+":"+map.get(key)); } out.close(); } } 四、程序阅读题(本大题共 4 个小题,每小题 6 分,共 24 分) 得分 评阅人 36、阅读下面的程序,回答问题(问 3 分,问 3 分,共 6 分)。 import java.awt.*; import javax.swing.*; public class T extends JFrame { T( ) { super("GridLayout"); Container con=this.getContentPane(); con.setLayout(new GridLayout(2,3)); con.add(new JButton("a")); con.add(new JButton("b")); con.add(new JButton("c")); con.add(new JButton("d")); con.add(new JButton("e")); con.add(new JButton("f")); setSize(200, 80); setVisible(true); } public static void main(String args[]) { new T(); } } 画图表示程序运行后的图形界面。 如果程序通过实现某个接口处理按钮的动作事件,则该接口名为何?接口中的 方法头声明如何?
XXXXXX大学XXX学院 37、阅读下面的程序,回答问题(0问3分,日问3分,共6分)。 import public class public static void main(String args[) Set set new TreeSeto: set.add(new Integer(10)). set.add(new Inte eger(5)) setadd(new Integer(1 set.add(new Integer(5)) set.add(new Integer(10)): System.out.printIn("size ="+set.size()); Iterator it=set.iteratorO. while(it.hasNext(){ System.out.print(it.next(+ "方 } 0程序运行后输出的结果如何? 说明java中的集合(Set接口)和映射Map接口)的主要区别。 38、 阅读下面的程序,并回答问题(0问3分,©问3分,共6分) while(true)! str-buf. } 编译运行上面的程序 0从键盘输入5,回车后输出的结果如何? ©从键盘输入qut,回车后程序执行情况如何? 39、阅读下面的程序,并回答问题(0问3分,⊙问3分,共6分): import javax swing import java.awt. mport java.awt. vent public class MenuTest extends JFrame JTextArea theArea theArea=new JTextArea(). 第9页共11页
XXXXXX 大学 XXX 学院 第 9 页 共 11 页 37、阅读下面的程序,回答问题(问 3 分,问 3 分,共 6 分)。。 import java.util.*; public class T { public static void main(String args[]) { Set set = new TreeSet(); set.add(new Integer(10)); set.add(new Integer(5)); set.add(new Integer(15)); set.add(new Integer(5)); set.add(new Integer(10)); System.out.println("size = " + set.size()); Iterator it=set.iterator(); while(it.hasNext()){ System.out.print(it.next()+" "); } } } 程序运行后输出的结果如何? 说明 java 中的集合(Set 接口)和映射(Map 接口)的主要区别。 38、阅读下面的程序,并回答问题(问 3 分,问 3 分,共 6 分)。 import java.io.*; public class Test { public static void main(String args[]) throws IOException { BufferedReader buf=new BufferedReader( new InputStreamReader(System.in)); while(true) { String str=buf.readLine(); if(str.equals("quit")) break; int x=Integer.parseInt(str); System.out.println(x*x); } } } 编译运行上面的程序: 从键盘输入 5,回车后输出的结果如何? 从键盘输入 quit,回车后程序执行情况如何? 39、阅读下面的程序,并回答问题(问 3 分,问 3 分,共 6 分)。 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class MenuTest extends JFrame{ JTextArea theArea; public MenuTest(){ super("MyMenu"); Container contentPane = this.getContentPane(); theArea = new JTextArea( );
XXXXXX大学XXX学院 theArea setText("The first snow came,nHow beautiful it was!"). (therea)Borderlayou CENTER) JMenu fontMenu=new JMenu("Font"); JMenultem fontSize=new JMenultem("Size"): ner(new ActionListener() utDialog("字号大小")方 int fontSize-Integer.parselnt(sizeString) theArea.setFont( new Font("楷体gb2312",Font.PLAIN,fontSize)) fontMenu.add(fontSize); JMenultem exit=new JMenultem("Exit"): fontMenu.add(exit). 使用匿名内部类对象处理该菜单项事件:点击退出程序的运行。 menuBar add(fontMenu): 020 public static void main(String]args)( new MenuTest(): 0图示程序运行后的图形界面。 ®在程序中使用匿名内部类对象处理菜单项“Ext”的事件响应:点击它则退出 程序的运行。请写出满足题目要求的代码 五、编程题(本大题共3个小题,40小题4分,41、42小题各6分,共16分) 得分评阅人 40、请定义一个名为Card的扑克牌类,该类有两个private访问权限的字符串变 量face和suit:face描述一张牌的牌面值(如:"Ace","Deuce'","Three" "Four""Five""Six""Seven""Eight""Nine","Ten","Jack""Queen""King"):suit 描述一张牌的花色(如:"Hearts”,"Diamonds'","Cubs","Spades")。定义Card类 中的public访问权限的构造方法,为类中的变量赋值:定义 ad访问权阴 的方法getFace(,得到扑克牌的牌面值;定义protected访问权限的方法getSuit() 得到扑克牌的花色,定义方法toString(0,返回表示扑克牌的花色和牌面值字符串 (如“Ace of Hearts'”、“Ten of Clubs”等)。 第10页共11页
XXXXXX 大学 XXX 学院 第 10 页 共 11 页 theArea.setText("The first snow came,\nHow beautiful it was!"); theArea.setLineWrap(true); contentPane.add(new JScrollPane(theArea),BorderLayout.CENTER); JMenu fontMenu = new JMenu("Font"); JMenuItem fontSize= new JMenuItem("Size"); fontSize.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { String sizeString=JOptionPane.showInputDialog( "字号大小" ); int fontSize=Integer.parseInt(sizeString); theArea.setFont( new Font("楷体_gb2312",Font.PLAIN,fontSize)); } }); fontMenu.add(fontSize); JMenuItem exit= new JMenuItem("Exit"); fontMenu.add(exit); 使用匿名内部类对象处理该菜单项事件:点击退出程序的运行。 JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); menuBar.add(fontMenu); this.setSize(300,200); this.setVisible(true); } public static void main(String[] args){ new MenuTest(); } } 图示程序运行后的图形界面。 在程序中使用匿名内部类对象处理菜单项“Exit”的事件响应:点击它则退出 程序的运行。请写出满足题目要求的代码。 五、编程题(本大题共 3 个小题,40 小题 4 分,41、42 小题各 6 分,共 16 分) 得分 评阅人 40、请定义一个名为 Card 的扑克牌类,该类有两个 private 访问权限的字符串变 量 face 和 suit:face 描述一张牌的牌面值(如:"Ace", "Deuce", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King");suit 描述一张牌的花色(如:"Hearts", "Diamonds", "Clubs", "Spades")。定义 Card 类 中的 public 访问权限的构造方法,为类中的变量赋值;定义 protected 访问权限 的方法 getFace(),得到扑克牌的牌面值; 定义 protected 访问权限的方法 getSuit(), 得到扑克牌的花色; 定义方法 toString(),返回表示扑克牌的花色和牌面值字符串 (如“Ace of Hearts”、“Ten of Clubs”等)