资源描述
装 订 线 安 徽 工 业 大 学 试 题 纸(一)20112012学年第一学期期末考试Java程序设计试卷B)一、选择题(每题1分,共20题)20%1、在Java源程序中出现的正确次序是_。 A、package,class,import B、package,import,class C、class,package, import D、import ,class,package 2、以下可以给对象加互斥锁的关键字是_。A、synchronized B、static C、transient D、serialize3、以下叙述不正确的是_。A、构造方法是类的一种特殊方法,其方法名必须与类名相同 B、构造方法的返回值类型只能是void型C、构造方法的主要作用是对类的对象进行初始化工作 D、在创建对象时,系统会自动调用构造方法4、关于Java Application程序在结构上特点的描述中,错误的是_。A、Java程序由一个或多个类组成的 B、若干个Java类可以存放在一个文件中,也可以存放在多个文件中C、Java程序的文件名一定要与某个类名相同 D、组成Java程序的多个类中,最多有一个主类5、编译HelloWorld.java的正确命令是_。A、javac HelloWorld B、java HelloWorld C、javac HelloWorld.java D、javac HelloWorld.class6、用Java虚拟机执行类名为HelloWorld的应用程序,正确的命令是_。A、java HelloWorld B、javac HelloWorld C、java HelloWorld.java D、java HelloWorld.class7、HelloWorld.html文件中嵌入一个Applet类HelloWorld,运行或查看这个Applet的命令是_。A、appletviewer HelloWorld.html B、appletviewer HelloWorld.class C、appletviewer HelloWorld D、appletviewer HelloWorld.java8、Java语言中所说的字节码实际上就是_。A、机器码 B、二进制码 C、文本文件 D、Java虚拟机可执行的接近于机器码的二进制文件 9、下列不是Java语言中复合数据类型的是_ A、数组 B、枚举 C、接口 D、类12345678910、下列程序运行的结果是_public class Test public static void main(String args) int ix=5,iy=2; if(ix=iy) System.out.println(Equal); else System.out.println(Not Equal); A、程序的第4行有错误,无法通过编译 B、程序可以执行,但无结果 C、Equal D、Not Equal11、Java程序中要使用输入输出类,在程序的开始应加入如下的语句_,程序才能通过编译。A、import java.util.*; B、import java.System.io.*; C、import java.nio.*; D、import java.io.*; 12、方法体中定义的变量是_。 A、成员变量 B、局部变量 C、静态变量 D、最终变量123456713、如下的程序段中的变量_可以通过类名来调用。class TestAint x;int y=90;static float Sfinal int T=80public TestA A、x B、y C、S D、T14、下列说法中正确的是_。A、同一个类的不同方法体中定义的变量,可以相互访问B、不同方法体中可以定义同名的局部变量 C、同一个类中可以定义不同数据类型的同名类变量D、同一个程序块中可以定义不同数据类型的同名变量 装 订 线 安 徽 工 业 大 学 试 题 纸(二)20112012学年第一学期期末考试Java程序设计试卷B 15、对下列定义的类,如何修改使得它既符合类的封装性,又能修改和获取类中的属性。_。Class Test float score;A、把属性score 定义为private B、把属性score 定义为publicC、把属性score 定义为private,并定义public的set和get方法访问属性scoreD、把属性score 定义为public,并定义public的set和get方法访问属性score 16、下列接口定义,正确的是_。A、interface IBvoid print() ; B、abstract interface IBvoid print(); C、abstract interface IB extends IB1,IB2/ IB1,IB2是已经定义过的接口void print() ;D、interface IBvoid print();17、Java程序接口中的所有属性(成员变量)、成员方法都是_。A、实例变量和实例方法 B、类变量和类方法 C、常量和类方法 D、常量和抽象方法 E、实例变量和类方法 F、类变量和实例方法18、Java中引入泛型的目的是_。A、使得编译程序把期望的类型加载到集合类中B、使程序员能够很快找出(在编译期间而不是在运行时)程序中存在的任何错误,包括加入集合或从集合中获取的对象的类型错误C、省去繁琐的类型转换代码D)以上都对19、下列描述中正确的是:_。A、TreeSet对象的元素值不可有相同的,否则编译失败 B、HashSet对象的元素是有序的C、LinkedList实现Queue与Set接口D、TreeMap对象的键值有排序性 20、下列情况中,不会是线程返回所持有的对象锁的是_。A、当synchronized()语句块执行完毕B、当调用了线程的suspend()C、当在synchronized()语句块中出现异常(Exception)D、当持有锁的线程调用该对象的wait()方法二、判断题(正确用错误用标记)(每题1分,共15题) 15%1、可以根据返回类型区分重载方法。 ( )2、抽象方法必须在抽象类中,所以抽象类中的方法一定都是抽象的。 ( )3、Java Applet小程序应该在浏览器中执行。 ( )4、Java中,一个子类可以在继承一个父类的同时,还可以实现多个接口。 ( )5、abstract与final可以同时修饰同一个类。 ( )6、public、private、protected都可以用来修饰内部类 ( )7、静态方法中可以调用非静态方法。 ( )8、被子类继承的父类方法,在子类中不能重载,只能重写(或覆盖) 。 ( )9、在 Java程序中,继承Thread类可随意覆盖父类的start()方法。 ( )10、当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定会终止运行。 ( )11、子类可以定义与父类同名的方法,称为方法的覆盖,方法覆盖要求子类的方法与父类的方法名字和参数都相同,但返回值类型可以不同。 ( )12、在命令行方式下输入命令:java Hello one two three 运行下列程序public class Hellopublic static void main(String a)System.out.println(a0); 输出结果是Hello。 ( )13、抽象类中一定要有抽象方法 ( )14、在实例方法中,this用来引用当前对象,通过使用this可引用当前对象的任何成员。 ( )15、File类的length()方法返回由此抽象路径名称表示的文件的长度。如果此路径名称表示一个目录(文件夹)则返回的值是不确定的。( )三、写出下面程序的结果(共5题)25% 装 订 线 安 徽 工 业 大 学 试 题 纸(三)20112012学年第一学期期末考试Java程序设计试卷B1234567891011121、当编译运行下列程序时,出现的结果是_。class Execute extends Threadpublic Execute(String Name)super(Name); public void run() throws InterruptedException String Name = Thread.currentThread().getName(); Thread.sleep(1000); System.out.println(Name+is running!); public static void main(String args) Execute ex=new Execute(Thread-1); ex.start(); 123456789101112132、当编译运行下列程序时,出现的结果是_。class SuperClass SuperClass( )System.out.print (super.getClass( ).getName( )+ );void show( ) System.out.print(super.getClass().getName()+ );public class SubClass extends SuperClass void show( )super.show( );System.out.print(super.getClass().getName();public static void main(String args) SuperClass s = new SubClass(); s.show(); 123456783、已知类Test在文件D:/my app/src/Test.java中,当编译运行下列程序时,出现的结果是_。import java.util.Scanner;public class Testpublic static void main(String args)Scanner scan = new Scanner(D:/my app/src/Test.java); while (scan.hasNext()System.out.println(scan.next();123456789101112134、当编译运行下列程序时,出现的结果是_。public class Test public static void main(String argv) int i = 3; switch(i) default: System.out.print(default );for (; i 0; i- -)if (i 1) continue; else System.out.println(i);break; case 0:System.out.print(zero );break; case 1:System.out.print(one ); case 2:System.out.print(two ); 20112012学年第一学期期末考试Java程序设计试卷B1234567891011121314151617185、当编译运行下列程序时,出现的结果是_。class Animal Animal( ) System.out.print(five ); Animal(String ears) super(); public void ears() System.out.print(two ); class Dog extends Animal Dog(String ears) super(ears); Dog()this(five);super.ears();System.out.print(three ); public class HotDog extends Dog public static void main(String argv) System.out.print(four ); HotDog h = new HotDog(); 四、编程题(共3道,各题分值分别是:10分、10分和20分,共40分)40%A=1 2 8 43 4 6 85 9 7 6图2A= 3 4 6 8 5 9 7 6 1 2 8 4图11、编写程序将M行N列的两维数组按照行元素之和,由小到大重新存储各行元素。例如:3行4列数组A如图1所示,按照上述规则变换之后的数组A如图2所示2、图1所示的一个容器,从入口处一个一个地落下1310粒豆子,通过三层隔板落入最下面的4个格子里,豆子经过隔板向左右落下的机会相等,编写程序,统计每个格子中豆子的数目。3210图13、利用实现接口Comparator的类,重写compare(To1, To2)方法,以此作为TreeMap的排序规则。即按照TreeMap的构造方法public TreeMap(Comparatorcomparator)来创建映像树TreeMap的对象。达到建立有序的映像树结构。存入4名同学的信息(姓名、身高和Java成绩,可以有相同的姓名)如下。Zhanying,170,80Wangheng,168,90Liuqing,180,87Liugong,166,87要求实现按照(成绩+姓名)两个属性由大到小排序(即成绩相同时按姓名由大到小排序)。20112012学年第一学期期末考试Java程序设计试卷B 一、单项选择题(本大题共20小题,每题1.5分,共30分。) 15: BABDC 610: AADBA 11 15: DBCBC 16 20: DDDDD编程题1参考答案public class ArrayTrans public void Atrans(int A,int M,int N) int sum=new intN; for(int m=0;mM;m+) for(int n=0;nN;n+)summ+=Amn; for(int m=0;mM-1;m+) int t=m,s; for(int n=m+1;nsumn) t=n; if(t!=m) for(int k=0;kN;k+) s=Amk;Amk=Atk;Atk=s; public static void main(String args) int M=3,N=4; int A=3,4,6,8,5,9,7,6,1,2,8,4; for(int m=0;mM;m+) for(int n=0;nN;n+) System.out.print(Amn+ ); System.out.println( ); ArrayTrans at=new ArrayTrans(); at.Atrans(A,M,N); for(int m=0;mM;m+) for(int n=0;nN;n+) System.out.print(Amn+ ); System.out.println( ); 二、判断题(正确用错误用标记)(每题1分,共15题) 15%15: 610: 11 15: 三、写程序结果题(共5道,每题5分,共25分)1、编译出错SubClass SubClass SubClass2、D:/myapp/src/Test.java3、Default 1 zero4、5、four two three四. 编程题(共3道,25分)1、程序完全正确得5分编程题2参考答案import java.util.*;public class DouziBfinal static int N=1310; /豆子数量 final static int M=3; /隔板数 public static int statistic(int N) int k,right,r,s; int num=new int4; /*初始化每个格子中的豆子数*/ for(k=0;k4;k+)numk=0; Random rand= new Random(System.currentTimeMillis(); /*初始化随机种子*/ for(k=0;kN;k+) right=0; for(int m=1;m=M;m+) s=rand.nextInt(); if(s%2=0) right+;/*确定豆子第m层下落的方向是左还是右*/ numright+; /*统计豆子落到那个格子中的豆子数*/ return num; public static void main(String args) int num=new int4; /*初始化每个格子中的豆子数*/ num=statistic(N); for(int k=0;k4;k+) System.out.printf(%d号格子中的豆子数是%dn ,k,numk); 2、程序完全正确得10分3、程序完全正确得20分编程题3参考答案import static java.lang.System.*;import java.util.*;class Student String name=null; int height; int score;Student(String name,int height,int score) this.name=name; this.height=height; this.score=score; public class ExamBpublic static void main(String args )Student st1,st2,st3,st4;st1=new Student(Zhanying,170,80); st2=new Student(Wangheng,168,90); st3=new Student(Liuqing,180,87);st4=new Student(Liugong,166,87); /排序树元素与定制的排序方式(按成绩和姓名)关联 TreeMap treeMap1=new TreeMap(new Comparator() public int compare(String Field1, String Field2) return -FpareTo(Field2);); treeMap1.put(String.valueOf(st1.score)+st1.name,st1); treeMap1.put(String.valueOf(st2.score)+st2.name,st2); treeMap1.put(String.valueOf(st3.score)+st3.name,st3); treeMap1.put(String.valueOf(st4.score)+st4.name,st4);Collection collection=treeMap1.values();Iterator te=collection.iterator(); out.printf(nn); out.println(按按成绩从大到小排序后的结果是: ); while(te.hasNext()Student stu=te.next(); out.println( +stu.name+ +stu.height+ +stu.score); 第 6 页 共 6 页
展开阅读全文