admin 管理员组文章数量: 1184232
2024年1月4日发(作者:思莱德网上商城)
班级
学号
姓名
-
-------------------------------------装--------------------------------------------订---------------------------------------线-------------------------------------
《Java语言程序设计(二)》期终考查试卷(A卷)
适用专业:
题号
分数
阅卷人
一
二 三
总分 积分人
一、选择题(本大题共24小题,每小题2.5分,共60分。请将选择题
答案填入下方的表格内)
序号
答案
序号
答案
序号
答案
1
11
21
2
12
22
3
13
23
4
14
24
5
15
6
16
7
17
8
18
9
19
10
20
1、给定如下Java代码,下列( )方法可以加入到Sample类中,并且能够编译正确。(选两项)
public class Sample {
public int getSomething(int d) {
return d;
}
}
A.private int getSomething(int i,String s) { }
B.public void getSomething(int i){ }
C.private int getSomething(byte b){return b;}
D.public double getSomething( ){return 2;}
2、给定如下java代码,编译运行后,将会输出( )结果。
public class Sample{
public double result(double dl,double d2){
return d1 } public double result(int dl,double d2){ 1 return d1>d2?d1:d2; } public int result (int d1,int d2){ return d1-d2; } private int result(int i){ return i; } public static void main(String[] args){ Sample s=new Sample(); n((2,3.0)+","); n((4.0,4.5)+","); n((10,9)); } } A.3.0,4.0,1 B.2,4.0,1 C.3.0,4.5,1 D.-1,4.0,1 3、在如下所示的Sample类中,共有( )个构造方法。 public class Sample{ private int x; public Sample(){ x=1; } public void Sample(double f){ this.x=(int)f; } public Sampple(){ x=2; } public Sample(String s){ } 2 } A.4 B.3 C.2 D.1 4、编译运行如下java代码,以下说法正确的是( )。 class Base { private String name; public Base(){ name="Base"; } public void method(){ n(name); } } class child extends Base{ public Child (){ super("Child"); name="cc"; } } public class Sample{ public static void main(String[] args) { Child c=new Child(); (); } } A.发生编译期错误 B.正常运行,输出结果:Base C.正常运行,输出结果:Child D.正常运行,输出结果:cc 5、构成方法重写的要素不包括( )。(选两项) A.方法名称相同 C.参数列表相同 B.返回类型相同 D. 在同一个类中 E.存在子类和父类中 F.返回类型不同 6、编译运行如下Java代码,输出结果是( )。 public class Sample { 3 public static void main(String[] args){ Child c=new Child(); (); } } class Base extends Object{ private String name; public Base(){ name=”Base constructor”; } public Base(String pName){ Name=pName; } public void method(){ n(name); } } class Child extends Base{ public void method(){ n(“Child method”); } public Child(){ super(“Child constructor”); } } A.Base constructor C.Child method 7、公有成员变量MAX是一个int型值,变量的值保持常数值100。在类Constants中,可以使用以下( )声明语句来定义这个变量。 A. public int MAX=100; int MAX =100; C. public static int MAX=100; final int MAX=100; 8、下面关于Java接口的说法错误的是( )。 4 B.Child constructor A. 一个Java接口是一些方法特征的集合,但没有方法的实现 B. Java接口中定义的方法在不同的地方被实现,可以具有完全不同的行为 C. Java接口中可以声明私有成员 D. Java接口不能被实例化 9、下面的程序中定义了一个Java接口,其中包含( )处错误。 public interface Utility{ private int MAX_SIZE=20; int MIN_SIZE=10; void use(){ n(“using it”); } private int getSize(); void setSize(int i); } A.1 B.2 C.3 D.4 10、给定如下Java代码,可以填入下划线处的语句是( )。(选三项) public interface Utility{ } class FourWheeler implements Utility{ } class Car extends FourWheeler{ } class Bus extends FourWheeler{ } public class Test{ public static void main(String[] args){ } } A. Utility car=new Car( ); B. FourWheeler bus=new Bus( ); C. Utility ut=new Utility( ); D. Bus bus=new FourWheeler( ); E. FourWheeler fw=new FourWheeler( ); 11、下面的程序的执行结果是( )。 public class Test{ public static void main(String[] args){ new Test().test(); 5 } public void test( ){ try{ (“try”); }catch(ArrayIndexOutOfBoundsException e){ (“catch1”); }catch(Exception e){ (“catch2”); }finally{ n(“finally”); } } } finally catch1 finally catch2 finally y 12、下列类中在多重catch中同时使用时,( )异常类应该最后列出。 A. ArithmeticException C. Exception B. NumberFormatException D. ArrayIndexOutOfBoundsException 13、以下代码段正确的是( )。(选二项) A、try{ B. try{ (“try”); (“try”); }catch(Exception e){ } (“catch”); } C、try{ { (“try”); (“try”); }finally(Exception e){ }finally{ ((“finally” ) ; } } 14、给定如下Java代码,可以填入下划线处的代码是( )。 import .*; 6 “finally”); public class Test{ public static void main(String[] args) { (“A”); st(“B”); } } A.List list=new ArrayList(); B.List list=new LinkedList(); C.ArrayList list=new ArrayList(); D.LinkedList list=new LinkedList(); 15、给定如下的Java代码,编译运行的结果是( )。 import .*; public class Test { public static void main(String[] args) { List list=new ArrayList( ); (“A”); (2,”B”); String s=(String)(1); n(s); } } A.编译时发生错误 C.正确运行,输出:A B.运行时引发异常 D. 正确运行,输出:B 16、给定如下 Java代码,编译运行的结果是( )。 import .*; public class Test{ public static void main(String[] args) { Map map=new HashMap( ); String s=”key”; (s,”Hello”); (s,”World”); n(()); } 7 } A.编译时发生错误 B.运行时引发异常 C.正确运行,输出:1 D.正确运行,输出:2 17、阅读下面的Java代码,运行结果为( )。 public class Demo{ public void foo(String[] arr){ try{ n(); }catch(NullPointerException e){ n(“in catch one”); }catch(Exception e){ n(“in catch two”): }finally{ n(“in finally block”); } } public static void main(String[] args){ new Demo( ).foo(args); } } A. 程序错误,无法编译 B. 0 in finally block C. in catch one D. in catch two in finally block in finally block 18、在Java中,类Test的代码如下所示,则编译运行该类的结果为(class Test{ public int changge(int m){ n(“int”); return 0; } public int change(float m){ n(“float”); 8 。 ) return 0; } public static void main(String[ ] args){ Test t=new Test( ); int a=(2); } } A. 输出:float B. 输出:int C. 出现编译错误 D. 出现运行时错误 19、分析如下Java代码,如果想在控制台上输出“B类的test( )方法“,则在添加代码处应填入( )。(选二项) class A( ){ public void test( ){ n(“A类的test( )方法”); } } class B extends A{ public void test( ){ n(“B类的test( )方法”); } public static void main(String[ ] args){ //此处添加代码 } } A. A a=new B( ); B. A a=new A( ); C. B b=new A( ); D. B b=new B( ); ( ); ( ); ( ); ( ); 20、下列选项中关于Java中super关键字的说法正确的是( )。 A. super关键字是在子类对象内部指代其父类对象的引用 B. super关键字不仅可以指代子类的直接父类,还可以指代父类的父类 C. 子类通过super关键字只能调用父类的方法,而不能调用父类的属性 D. 子类通过super关键字只能调用父类的属性,而不能调用父类的方法 21、在Java语言中,下列关于类的继承的描述,正确的是( )。 A. 一个类可以继承多个父类 B. 一个类可以具有多个子类 9 C. 子类可以使用父类的所有方法 D. 子类一定比父类有更多的成员方法 22、在Java接口中,下列选项中有效的方法声明是( )。(选二项) A. public void aMethod(); B. void aMethod(); C. void aMethod(){} D. private void aMethod(); 23、下面的Java程序编译运行结果是( )。 interface A{ int x = 0; } class B{ int x=1; } class C extends B implements A { public void pX(){ n(super.x); } public static void main(String[] args) { new C().pX(); } } A. 产生运行期错误 B. 产生编译期错误 C. 程序运行,输出结果为1 D. 程序运行,输出结果为0 24、分析如下Java代码,编译运行后将输出( )。 public Test() {} static void print(ArrayList al) { (2); al = new ArrayList(); (3); (4); } public static void main(String[] args) { Test test = new Test(); ArrayList al = new ArrayList(); 10 (1); print(al); n((1)); } } A.1 B.2 C.3 D.4 二、程序阅读题(本大题共3小题,每小题7分,共21分) 阅卷人 1、请给出下面这段代码的执行结果,并说明原因。 public class Test{ public static void foo(int i){ try{ if(i==1){ throw new Exception(); } (“1”); }catch(Exception e){ (“2”); }finally{ (“3”); } (“4”); } public static void main(String[] args){ foo(1); } } 2、请说明下面的代码中存在什么样的问题,该如何解决? public interface Utility{ } class Phone implements Utility{ void use( ){ n(“using phone”); } 11 } public class Test{ public static void main(String[] args){ Utility util=new Phone( ); ( ); } } 3、请指出如下Java代码中存在的错误,并改正。 public class Sample{ public static void main(String[] args){ Child c=new Child( ); } } class Base extends Object{ private String name; public Base( ){ name=”Base”; } } class Child extends Base{ public Child( ){ super(“Child”); } } 三、实践题(本大题共2小题,第1题10分,第2题9分,共19分) 阅卷人 1、编写一个类Book,代表教材: 1) 具有属性:名称(title)、页数(pageNum)、类型(type) 2) 具有方法:detail,用来在控制台输出每本教材的名称、页数、类型 3) 具有两个带参构造方法:第一个构造方法中,设置教材类型为“计算机”(固定),其余属性的值由参数给定;第二个构造方法中,所有属性的值都由参数给定 4) 编写测试类BookTest进行测试: 5) 分别以两种方式完成对两个Book对象的初始化工作,并分别调用它们的detail方法, 12 看看输出是否正确 2、阅读如下Java代码,然后请采用面向接口编程的思想,在空白处填写正确的代码 public interface PCI { void start(); void stop(); } class SoundCard implements PCI{ public void start() { 13 n(""); } public void stop() { n("Sound stop!"); } } class NetworkCard implements PCI{ public void start() { n(""); } public void stop() { n("Network stop!"); } } public class MainBoard{ public void usePCICard( ______ p) { (); (); } } public class Assembler { public static void main(String[] args) { MainBoard mb=new MainBoard(); //在主板上插入网卡 //在主板上插入声卡 } 14 《Java语言程序设计(二)》期终考查试卷(A卷)参考答案 一、选择题(本大题共24小题,每小题2.5分,共60分) 序号 答案 序号 答案 序号 1 CD 11 A 21 2 A 12 C 22 3 C 13 AD 23 4 A 14 D 24 5 DF 15 B 6 C 16 C 7 D 17 B 8 C 18 A 9 C 19 AD 10 ABE 20 A 答案 B AB C B 二、程序阅读题(本大题共3小题,每小题7分,共21分) 1、运行结果:234 原因:进入if语句---〉抛出异常——〉进入catch---〉输出2----〉进入finally--->输出3---〉执行剩余代码---〉输出4 2、Utility接口中不存在use方法; 在Test的main方法中,当把Phone类型的对象向上造型为Utility类型后,只能调用Utility类型中具有的方法,因此();语句出现错误。 两种解决办法: a) 在Utility中增加方法use(); b)在Test的main方法中这样写: Phone phone= new Phone(); (); 3、Child类的构造方法中调用了父类的带参构造方法,这个构造方法在父类中并没有定义。 三、实践题(本大题共2小题,第1题10分,第2题9分,共19分) 1、class Book{ private String title; private int pageNum; private String type; public Book(String title,int pageNum){ = title; m = pageNum; = "计算机"; } public Book(String title,int pageNum,String type){ = title; m = pageNum; = type; } 15 public void detail( ){ n("书名:"+title+",页数:"+pageNum+",类型:"+type); } } public class BookTest { public static void main(String[] args) { Book b1 = new Book("Java入门",270); Book b2 = new Book("北京生活指南",570,"生活"); (); (); } } 2、PCI PCI nc=new NetworkCard( ); Card(nc); PCI sc=new SoundCard( ); Card(sc); 16
版权声明:本文标题:《Java语言程序设计(二)》期终考查试卷(A卷)及答案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1704361840a456180.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论