Java程序设计.docx

上传人:b****2 文档编号:18179679 上传时间:2023-04-24 格式:DOCX 页数:11 大小:19.64KB
下载 相关 举报
Java程序设计.docx_第1页
第1页 / 共11页
Java程序设计.docx_第2页
第2页 / 共11页
Java程序设计.docx_第3页
第3页 / 共11页
Java程序设计.docx_第4页
第4页 / 共11页
Java程序设计.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

Java程序设计.docx

《Java程序设计.docx》由会员分享,可在线阅读,更多相关《Java程序设计.docx(11页珍藏版)》请在冰豆网上搜索。

Java程序设计.docx

Java程序设计

2015年“甲骨文杯”全国Java程序设计大赛—赛前模拟题

(1)

学校:

姓名:

单项选择

多项选择

编程题

总分

一、单项选择。

1.代码片段:

publiclassJavaContest{

publicstaticvoidfun(shortn){System.out.print("short");}

publicstaticvoidfun(Shortn){System.out.print("SHORT");}

publicstaticvoidfun(Longn){System.out.print("LONG");}

publicstaticvoidmain(String[]args){

Shorty=0;

intz=y;

fun(y);

fun(z);

}

}

请问编译运行的结果是什么?

A.shortLongB.SHORTLONG

C.编译出错D.运行时抛出异常

答案:

C分析:

类型JavaContest中的方法fun(short)对于参数(int)不适用

2.如下代码:

publicstaticvoidmain(String[]args){

method1(1,2);

System.out.print("java");

}

publicstaticvoidmethod1(intx1,intx2){

System.out.print("hello");

}

publicstaticvoidmethod1(intx1,intx2,intx3){

System.out.print("hi");

}

请问编译运行的结果是什么?

A.hellojavaB.编译失败

C.hijavaD.hellohijava

E.hihellojava

答案:

A分析:

method1方法有两个变量,当没有给变量赋值时打印出hello,给变量赋值时打印java。

3.有如下变量声明:

Map

extendsCollection>map;

请问以下哪个赋值语句会出错?

A.map=newHashMap<>();

B.map=newHashMap>();

C.map=newHashMap>();

D.map=newLinkedHashMap>();

4.如下代码:

publicclassTest{

privateinta;

publicintb;

protectedintc;

intd;

publicstaticvoidmain(String[]args){

Testtest=newTest();

inta=test.a++;

intb=test.b--;

intc=test.c++;

intd=test.d--;

System.out.println(a+"-"+b+"-"+c+"-"+d);

}

}

请问哪个说法是正确的?

A.编译错误,因为变量a、b、c和d没有被初始化

B.编译错误,因为变量a无法被访问

C.编译成功并输出0-0-0-0

D.编译成功并输出1--1-1--1

5.给出如下代码片段:

String[]elements={"for","tea","too"};

Stringfirst=(elements.length>0)?

elements[0]:

null;

以下哪个是正确的结果?

A.编译失败

B.运行时抛出异常

C.first的值被设为null

D.first的值被设为"for"

6.代码片段:

packagecertkiller;

classTarget{

publicStringname="hello";

}

哪些类能够直接访问并且改变name这个变量的值。

A.任意类

B.只有Target这个类

C.certkiller包下的类

D.Target的子类

7.代码片段:

publicclassCertkiller3implementsRunnable{

publicvoidrun(){

System.out.print("running");

}

publicstaticvoidmain(String[]args){

Threadt=newThread(newCertkiller3());

t.run();

t.run();

t.start();

}

}

执行的结果是?

A.编译出错

B.运行时抛出异常

C.代码正常执行并且输出:

running

D.代码正常执行并且输出:

runningrunning

E.代码正常执行并且输出:

runningrunningrunning

8.代码片段:

importjava.util.*;

publicclassTestSet{

enumNum{ONE,THREE,TWO}

publicstaticvoidmain(String[]args){

Collectioncoll=newLinkedList();

coll.add(Num.THREE);

coll.add(Num.ONE);

coll.add(Num.THREE);

coll.add(Num.TWO);

coll.add(Num.TWO);

Setset=newHashSet(coll);

System.out.println(set);

}

}

关于set变量的描述哪个选项是正确的?

A.set变量只包含了coll集合中的3个变量,并且顺序与coll里的相同。

B.set变量只包含了coll集合中的3个变量,但顺序无法确定。

C.set变量包含了coll集合中的5个变量,但顺序无法确定。

D.set变量包含了coll集合中的5个变量,并且顺序与coll里的相同。

9.代码片段:

contestKiller=newReallyBigObject();

//这里省略部分代码

contestKiller=null;

/*在这里补充代码*/

以下哪一选项的代码是告诉虚拟机尽最大的能力去回收contestKiller这个对象所占用的内存?

A.Runtime.getRuntime().freeMemory()

B.Runtime.gc()

C.System.freeMemory()

D.Runtime.getRuntime().growHeap()

E.System.gc()

10.publicclassJavaContest{

publicstaticvoidmain(String[]args)throwsException{

Thread.sleep(3000);

System.out.println("alive");

}

}

请问编译运行的结果是什么?

A.编译出错

B.运行时抛出异常

C.程序运行大约3秒后输出:

alive

D.程序运行大约50分钟后输出:

alive

E.代码正常运行但没有输出

11.如下代码:

publicclassTest{

publicTest(){

System.out.print("test");

}

publicTest(Stringval){

this();

System.out.print("testwith"+val);

}

publicstaticvoidmain(String[]args){

Testtest=newTest("wow");

}

}

请问编译运行的结果是什么?

A.test

B.testtestwithwow

C.testwithwow

D.编译失败

12.代码片段:

importjava.io.*;

publicclassForestimplementsSerializable{

privateTreetree=newTree();

publicstaticvoidmain(String[]args){

Forestf=newForest();

try{

FileOutputStreamfs=newFileOutputStream("Forest.Ser");

ObjectOutputStreamos=newObjectOutputStream(fs);

os.writeObject(f);

os.close();

}catch(Exceptionex){

ex.printStackTrace();

}

}

}

classTree{}

哪一项的描述是正确的?

A.编译出错

B.运行时抛出异常

C.一个Forest的实例被序列化了

D.一个Forest的实例和一个Tree的实例都被序列化了

13.如下代码:

inti=1;

while(i!

=5){

switch(i++%3){

case0:

System.out.print("A");

break;

case1:

System.out.print("B");

break;

case2:

System.out.print("C");

break;

}

}

请问编译运行的结果是什么?

A.BCABB.BCBAC.ABC

D.CBAE.NBAF.FIFA

14.代码片段:

voidwaitForSignal(){

Objectobj=newObject();

synchronized(Thread.currentThread()){

obj.wait();

obj.notify();

}

}

以下哪一个描述是正确的?

A.需要处理InterruptedException。

B.代码能编译但可能运行时抛出IllegalStateExcepion。

C.运行10分钟后代码抛出TimeOutException。

D.需要把obj.wait()替换为((Thread)obj).wait()后代码才能通过编译。

E.把obj.wait()和obj.notify()这两句调换一下位置,能使代码执行。

15.代码片段1:

publicclassComplexCalc{

publicintvalue;

publicvoidcalc(){value+=5;}

}

代码片段2:

publicclassMoreComplexCalcextendsComplexCalc{

publicvoidcalc(){value-=2;}

publicvoidcalc(intmulti){

calc();

super.calc();

value*=multi;

}

publicstaticvoidmain(String[]args){

MoreComplexCalccalc=newMoreComplexCalc();

calc.calc(3);

System.out.println("Ohitis:

"+calc.value);

}

}

请问编译运行的结果是什么?

A.Ohitis:

9

B.编译出错

C.Ohitis:

15

D.Ohitis:

-6

E.代码正常运行但没有输出

F.运行时抛出异常

G.Ohitis:

6

H.Ohitis:

-15

二、多项选择题。

16.给出一个尚未使用泛型的方法:

publicstaticintgetSum(Listlist){

intsum=0;

for(Iteratoriter=list.iterator();iter.hasNext();){

inti=((Integer)iter.next()).intValue();

sum+=i;

}

returnsum;

}

为了使用泛型,需要对代码做以下哪三项改动?

A.删除第14行

B.将第14行替换成inti=iter.next();

C.将第13行替换成for(inti:

intList){

D.将第13行替换成for(Iteratoriter:

intList)

E.方法的参数声明改为getSum(ListintList)

F.方法的参数声明改为getSum(ListintList)

17.代码片段:

publicabstractinterfaceSudo{

publicvoidcrazy(Strings);

}

请问以下哪些选项中的类定义是正确的?

A.publicabstractclassMySudoimplementsSudo{

publicabstractvoidcrazy(Strings){}

}

B.publicabstractclassYourSudoimplementsSudo{}

C.publicclassHerSudoimplementsSudo{

publicvoidcrazy(Stringi){}

publicvoidcrazy(Integers){}

}.

D.publicclassHisSudoimplementsSudo{

publicvoidcrazy(Integeri){}

}

E.publicclassItsSudoextendsSudo{

publicvoidcrazy(Integeri){}

}

18.如下代码:

publicclassTest{

publicstaticvoidmain(Stringargs[]){

inti=3,j;

outer:

while(i>0){

j=3;

inner:

while(j>0){

if(j<2)breakouter;

System.out.println(j+"and"+i);

j--;

}

i--;

}

}

}

请问哪些选项的内容会出现在输出中?

A.3and3

B.3and2

C.3and1

D.3and0

E.2and3

19.如下代码:

importjava.io.*;

classDirectories{

staticString[]films={"sora","shu"};

publicstaticvoidmain(String[]args){

for(Stringfp:

films){

//在这里插入第一句代码

Filefile=newFile(path,args[0]);

//在这里插入第二句代码

}

}

}

有一个文件夹,它有2个子文件夹,分别是“sora”和“shu”,“sora”里面有只名为“aoi.txt”的文件,“shu”里面只有名为“qi.txt”的文件。

在此文件夹下以执行以下命令:

javaDirectoriesqi.txt

输出结果是:

“falsetrue”。

请问把以下哪些选项的代码分别插入到上面代码中能达到此效果?

A.//第一句代码

Stringpath=fp;

//第二句代码

System.out.print(file.exists()+"");

B.//第一句代码

Stringpath=fp;

//第二句代码

System.out.print(file.isFile()+"");

C.//第一句代码

Stringpath=File.separator+fp;

//第二句代码

System.out.print(file.exists()+"");

D.//第一句代码

Stringpath=File.separator+fp;

//第二句代码

System.out.print(file.isFile()+"");

21.以下哪些选项的代码存在错误?

A.longn1=12_3_45____789;

B.longn2=__123_45_678_9;

C.intn3=0xFc_aB_C3_353;

D.doublen4=0b11001_001_0_0_11;

E.floatn5=1.4_142_13;

F.floatn6=0_1_2_3;

三、编程题。

22.写一个名叫Square的类用于求一个数的平方。

类里面提供两个静态方法,名字都叫square。

其中一个方法的参数和返回值都是long类型,另一个方法的参数和返回值是double型。

这是一道范例题,下面是一个可行的答案:

publicclassSquare{

publicstaticlongsquare(longv){

returnv*v;

}

publicstaticdoublesquare(doubled){

returnd*d;

}

}

你可以直接将上面代码输入答案框提交。

请您写出一个类名为Square的类,要求能满足题意。

23.给出以下接口HelloWorld,请编写一个类MyHelloWorld实现该接口,并满足接口中所要求的功能。

这是一道范例题,下面是一个可行的答案:

publicclassMyHelloWorldimplementsHelloWorld{

publicStringsayHelloWorld(Stringname){

returnname+"say:

helloworld!

";

}

}

你可以直接将上面代码输入答案框提交。

给定如下的代码:

publicinterfaceHelloWorld{

/**

*返回name+"say:

helloworld!

".

*/

StringsayHelloWorld(Stringname);

}

请您写出一个类名为MyHelloWorld的类,要求能满足题意。

24.给出如下Shape类,请实现一个公有类Rectangle,满足以下要求:

1.继承于Shape,实现Shape所规定的功能

2.有int类型的width和height属性(宽和高)及相应的getter和setter

3.有一个带两个int参数的公有构造方法,第一个参数用于设置宽,第二个参数用于设置高

给定如下的代码:

publicabstractclassShape{

/**

*计算形状的面积

*/

abstractpublicintgetArea();

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 机械仪表

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1