Java程序设计B试题及答案Word文档下载推荐.docx
《Java程序设计B试题及答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Java程序设计B试题及答案Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
(D)、intt4[3];
9、以下代码的输出()
intx=1;
inty=9;
do{
y--;
}while(x++&
lt;
4);
System.out.print(x+&
&
+y);
(A)4,3(B)6,4(C)4,6(D)5,5
10.以下Collection创建正确的是()。
(A)、Collectionc=newCollection();
(B)、Collectionc=(newHashMap()).keySet();
(C)、Collectionc=newList();
(D)、Collectionc=newMap();
11.下面的哪个赋值语句是不对的?
()
(A).inta=’\n’;
(B).inti=200L;
(C).byteb=100;
(D).longl=200;
12.当下列程序执行时,其输出结果是()。
intx=10;
floaty=1.0f;
System.out.println(y+x);
(A)、11.0(B)、11.0f(C)、11.0f(D)、11
13.创建一个S的对象:
Ss=newS()控制台的输出为()
classP{
-1-
P(){
System.out.println(“P()”)
}
classS{
S(){}
(A)、P()回车S()(B)、S()(C)、P()(D)、无输出
14、如下代码运行结果是
try{
thrownewSQLException(“DBErro”);
}catch(Exceptione){
System.out.println(“Exception”);
}catch(SQLExceptionse){
System.out.println(“SQLException”);
(A)、编译错误(B)、SQLException(C)、Exception(D)、SQLException
Exception
15.如下代码,运行结果是()
publicstaticvoidmain(String[]args){
inti=0;
for(;
i&
=10;
i++){
if(i&
gt;
2)break;
System.out.println(i);
(A)、编译错误(B)、2(C)、10(D)、运行错误
16.下面关于抽象类的哪些叙述是不正确的?
()
(A).抽象类和其它类一样都可以有方法和属性(B).抽象类可以用来直接实例化一个对象
(C).抽象类可以来作对象定义(D).抽象类是类的抽象
17.下列运行Test类的命令中,运行后下控制台输出:
1()。
publicclassTest{
publicstaticvoidmain(Stringargv[]){
System.out.println(argv.length);
(A).javaTesta(B).javaTestab(C).javaTest1(D).javaTest1+1
18.关于异常处理不正确的是()
(A)、catch捕获异常时要进行基于继承关系的类型匹配
(B)、异常处理的机制可以程序产生异常时不中断退出程序,从而可以进行相应的补救操作(C)、throws关键字可用来声明方法可能抛出的异常类型
(D)、所有的Exception及其子类都必须处理,否则编译器将在报错
19.类A,B,C定义如下,下列运行时要产生异常的是()
-2-
classA{}
classBextendsA{}classCextendsB{}(A)、Aa=newB();
(B)、Aa=newC();
(C)、Aa=newB();
Bb=(B)a;
(D)、Cc=(C)newB();
20、下面哪个修饰符修饰的变量不属于访问权限控制符的是()(A)、public(B)、private(C)、static(D)、protected二、程序阅读(每题5分,共20分)
21.阅读程序,并写出程序运行结果classA{A(){System.out.println(&
A()&
);
}voidgoo(){System.out.println(&
A.goo()&
}}classBextendsA{B(inti){System.out.println(&
B(&
+i+&
)&
}voidgoo(){
22.阅读程序,并写出程序运行结果publicclassT22{publicstaticbooleanfoo(){System.out.println(&
Callfoo()&
returnfalse;
}publicstaticbooleangoo(){System.out.println(&
Callgoo()&
returntrue;
}
23阅读程序,并写出程序运行结果publicclassT23{privatestaticT23instance=null;
privateintid;
privateT23(){System.out.println(&
T23()Call&
}publicvoidsetId(intid){this.id=id;
}publicintgetId(){System.out.println(&
B.goo()&
}}publicclassT21{publicstaticvoidmain(String[]args){Bb=newB
(1);
b.goo();
Aa=b;
a.goo();
}}publicstaticvoidmain(String[]args){if(foo()&
amp;
goo()){System.out.println(&
OK&
}else{System.out.println(&
Error&
}}}returnthis.id;
}publicstaticT23getInstance(){if(instance==null){instance=newT23();
}returninstance;
}publicstaticvoidmain(String[]args){T23t1=T23.getInstance();
-3-
T23t2=T23.getInstance();
t1.setId(100);
t2.setId(200);
System.out.println(&
t1.id=&
+t1.getId());
System.out.println(&
t2.id=&
+t2.getId());
goo();
goo()=&
+(a+b));
publicstaticvoidgoo(inta,Stringb){goo(a,0);
goo(&
+a+&
+b+&
publicstaticvoidmain(String[]args){24阅读程序,并写出程序运行结果goo();
publicclassT24{goo(1,2);
publicstaticvoidgoo(){goo(1,&
Hello&
goo()&
三、程序填空(每空2分,共20分)
程序一:
List操作importjava.util.*;
classStudent{intsno;
Student(intsno){初始化Student对象中的sno为参数中给定的sno}voidstudy(){System.out.println(&
IamStudent:
&
+sno+&
.study&
}}
publicclassT2529{publicstaticvoidmain(String[]args){;
//创建sno为1的student对象;
//创建sno为2的student对象Listlist=newArrayList();
list.add(s1);
list.add(s2);
;
//取得集合list的迭代器while(it.hasNext()){)it.next();
//取出list中的对象并,作类型转化s.study();
}}}
程序二、接口及实现importjava.util.*;
interfaceIFun{
voidfoo();
interfaceISub{
classAimplements{
//A类的构造方法
Aconstructors=&
+s);
foo&
publicvoidgoo(){
publicclassT3034{
publicstaticvoidmain(String[]args){
Aa=newA(&
TestString&
IFunf=a;
f.foo();
ISubs=a;
s.goo();
运行结果
Aconstructors=TestString
foo
goo
四、基本代码编写(共10分)
35、编写一个包含main方法的类MainArgs,
在控制台运行javaMainArgsa1a2a3a4.(参数个数可变)可以识别出参数的个数,并读取每个参数。
如运行:
javaMainArgsa1a2a3a5
输出:
参数个数:
4
args[0]=a1
args[1]=a2
args[2]=a3
args[3]=a5
javaMainArgsabc
3
args[0]=a
args[1]=b
args[2]=c
36、(7分)编写如下控制台界面程序
MyAppMenu
--------------
1.FunctionI
2.FunctionII
0.Exit
---------------
Pleasechoice[1,2,0]:
要求:
(1)当选择1时,控制台上输出“FunctionI”
(2)当选择2时,控制台上输出“FunctionII”
(3)当选择0时,退出应用程序
(4)除选择0外,其它选择操作完成,控制台上又出现此菜单
五、设计并编程(共8分)
37、请仔细阅读如下代码,分析已知的运行结果,充分运用构造方法、接口、抽象类等知识补充完成类MyClass的代码执行后得到如下的运行结果。
interfaceTestdoubleerface{
booleantest(doublevalue);
//测试给定的数value是否为零
abstractclassTestClassimplementsTestdoubleerface{
privatedoublevalueA;
TestClass(doublevalueA){
this.valueA=valueA;
finalvoidshowResult(){//显示计算结果,final方法不能被override
if(this.test(this.getValueB())){
valueB=0,不能作为除数&
}else{
valueA[&
+this.getValueA()+&
]/valueB[&
+this.getValueB()+&
]
=&
+this.getValueA()/this.getValueB());
doublegetValueA(){//取valueA的值returnthis.valueA;
}abstractdoublegetValueB();
//取valueB的值}classMyClassextendsTestClass{privatedoublevalueB;
////////////////////////////////////////////////////请补充完成此类代码/////////////////////////////////////////////////}publicclassT37{publicstaticvoidmain(String[]args){TestClassobj1=newMyClass(100,8);
obj1.showResult();
TestClassobj2=newMyClass(100,0);
obj2.showResult();
}}运行结果valueA[100.0]/valueB[8.0]=12.5valueB=0,不能作为除数
《Java程序设计》试卷(B卷)
评阅标准及考核说明
一、[教师答题时间:
15分钟]选择题(每小题2分,共30分。
请将答案填在下面的表格2、[三基类]C3、[三基类]B4、[三基类]A
5、[三基类]B
9、[三基类]D
13、[三基类]C
17、[三基类]A
6、[三基类]C7、[三基类]C10、[三基类]B14、[三基类]A18、[三基类]D8、[三基类]D12、[三基类]A11、[三基类]B15、[三基类]B19、[三基类]D16、[三基类]B20、[三基类]C二、[教师答题时间:
10分钟]填空题(每小题5分,共20分)
A()B
(1)
-4-21、[三基类]
B.goo()
22、[三基类]
Callfoo()
Callgoo()
Error
23、[三基类]T23()Callt1.id=200t2.id=20024、[三基类]goo()goo()goo()=3goo()=1goo(1,Hello)三、[教师答题时间:
10分钟]程序填空(每空2分,共20分)
25、[一般综合型]30、[一般综合型]voidgoo();
31、[一般综合型]IFun,ISub
32、[一般综合型]A(Strings)
33、[一般综合型]publicvoidfoo()
34、[一般综合型]System.out.println(“goo”);
this.sno=sno;
26、[一般综合型]newStudent
(1)27、[一般综合型]newStudent
(2)28、[一般综合型]list.iterator()
四、基本代码编写(共12分)
35、(5分)[一般综合型][教师答题时间:
2分钟]
参考程序
publicclassMainArgs{
+args.length);
for(inti=0;
i&
args.length;
i++){
args[&
]=&
+args[i]);
评分说明:
(1)评分总体原则以实现功能为最终标准,无论用什么方式实现只要程序实现了题目要求的功能的情况,没有语法错误(个别笔误除外)的情况下可得到满分
(2)没有实现题目要求功能的情况,如下步骤可以得分
a.格式正确可以得1分
b.写出for循环正确得3分
c.参数个数正确得1分
36、(7分)[综合型][教师答题时间:
3分钟]
publicclassT36{
staticvoidshowMenu(){
MyAppMenu&
--------------&
1.FunctionI&
2.FunctionII&
0.Exit&
---------------&
System.out.print(&
staticStringgetInput()throwsIOException{
BufferedReaderin=newBufferedReader(
newInputStreamReader(System.in));
returnin.readLine();
publicstaticvoidmain(String[]args)throwsException{
while(true){
showMenu();
Stringcmd=getInput();
intc=Integer.parseInt(cmd);
switch(c){
case1:
FunctionI&
break;
case2:
FunctionII&
case0:
System.exit
(1);
default:
ErroCommand&
a.main方法正确1分
b.输入语句正确1分
c.菜单显示正确2分
d.whileswitch正确各3分
五、设计并编程(共8分)
37、(8分)[综合型][教师答题时间:
5分钟]
MyClass(doublevalueA,doublevalueB){(4分)
super(valueA);
this.valueB=valueB;
publicbooleantest(doublevalue){(2分)
returnvalue==0;
doublegetValueB(){(2分)
returnthis.valueB;
(2)每个方法给分,如上标注