java模拟题及参考答案.docx

上传人:b****6 文档编号:5948901 上传时间:2023-01-02 格式:DOCX 页数:15 大小:26.72KB
下载 相关 举报
java模拟题及参考答案.docx_第1页
第1页 / 共15页
java模拟题及参考答案.docx_第2页
第2页 / 共15页
java模拟题及参考答案.docx_第3页
第3页 / 共15页
java模拟题及参考答案.docx_第4页
第4页 / 共15页
java模拟题及参考答案.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

java模拟题及参考答案.docx

《java模拟题及参考答案.docx》由会员分享,可在线阅读,更多相关《java模拟题及参考答案.docx(15页珍藏版)》请在冰豆网上搜索。

java模拟题及参考答案.docx

java模拟题及参考答案

JAVA模拟题

(本试卷考试时间90分钟)

一、单选题(本大题15道小题,每小题1分,共15分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。

1.关于类的继承,错误的说法是______。

答案:

D

A.通过继承可以重用已有的代码,同时增加新的代码来进行功能的扩展。

B.被继承的类称为超类,从超类派生出来的新类称为子类。

C.Java中只支持单重继承,不支持多重继承,所以一个类只能有一个超类。

D.子类必须继承父类的所有成员。

2.Applet在浏览器中显示的文件扩展名为__________。

答案:

C

A..java

B..txt

C..class

D..html

3.在编译和运行下面的代码时,出现下列__________情况。

publicclassTest{

booleanp;

publicstaticvoidmain(String[]args){

System.out.println(p);

}

}答案:

A

A.编译时错误

B.编译通过并输出结果false

C.编译通过并输出结果true

D.编译通过并输出结果null

4.由SunMicrosystem公司开发的Java程序开发软件包简称为__________。

答案:

B

A.ECLIPSE

B.SDK

C.TDK

D.JDE

5.以下声明的变量中,__________是合法的。

答案:

D

A.intra-net

B.2nong

C.Tea&

D.stu_a

6.下面__________不是java中的访问权限。

答案:

D

A.public

B.private

C.protected

D.static

7.下列概念不正确的是__________。

答案:

D

A.在一个抽象类中能够定义抽象方法

B.定义了抽象方法的类必定是抽象类

C.在抽象类定义的方法中不可以同时用fianl和abstract说明

D.在抽象类定义的方法中可以同时用static和abstract说明

8.关于类变量的正确说法是__________。

答案:

C

A.在类中定义的变量

B.由class进行修饰

C.由static进行修饰,类中的任何对象访问时,都将取得相同的数值

D.实例变量是用static关键字声明的

9.设数组Array由以下语句定义

intiarray=newint[10];

则数组的最后一个元素的正确引用方法为__________。

答案:

D

A.iarray[10]

B.iarray[0]

C.iarray[iarray.length]

D.iarray[9]

10.continue在循环语句中的作用是__________。

答案:

A

A.停止本轮循环中剩余语句的执行

B.只能停止当前层循环的执行

C.实现任何层循环的停止运行

D.只能停止最外层循环的执行

11.下面关于构造方法的错误说法是__________。

答案:

A

A.构造方法不可以重载

B.构造方法一定要和类名相同

C.构造方法没有返回值

D.构造方法也属于类的方法,用于创建对象的时候给成员变量赋值

12.顺序执行下列程序语句后,b的值是__________。

Stringa="HelloWorld!

";

Stringb=a.substring(6,12);答案:

B

A.World

B.World!

C.hello

D.null

13.float型数据在计算机内所占用的存储空间为__________字节。

答案:

B

A.2

B.4

C.8

D.16

14.在图形界面上进行绘画的paint()方法使用的是______类型的参数。

答案:

C

A.String

B.Font

C.Graphics

D.Color

15.下面是关于多态的陈述,其中正确的说法是__________。

答案:

C

A.多态性不具有面向对象程序设计的特征

B.多态性是指相同的方法,可以有不同的实现

C.多态性通过方法的重载和覆盖来实现

D.Java中,多态就是指一个类可以构造不同形态的对象

二、程序填空题(本大题2道小题,每空3分,共30分)。

1.下面是一个Application程序,接受用户从键盘输入的10个整数,然后将这10个数按从大到小的方式排序并输出,请将程序补充完整。

importjava.io.*;

publicclassPaiXu{

publicstaticvoidmain(Stringargs[]){

intarr[]=new______

(1)______,i,j;

for(i=0;i<10;i++){

BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));

arr[i]=Integer.parseInt(______

(2)______);

}

for(i=0;i<10;i++)

for(______(3)_____;j<10;j++)

if(arr[i]>arr[j]){

intt=arr[i];arr[i]=arr[j];______(4)_____;

}

System.out.println("排序结果为:

");

for(i=0;i<10;i++)

______(5)_____;

}

}

1):

【int[10]】

2):

【br.readLine()】

3):

【j=i】【j=i+1】

4):

【arr[j]=t】

5):

【System.out.print(arr[i]+"\t")】

2.下面的Applet实现在窗体上按输入值作为半径画圆的功能(如图),该程序界面上有一个标签、一个文本框和两个命令按钮;当在文本框中输入圆半径(整数)并单击"绘图"按钮后,将在窗体上画出一个红色圆,单击"清除"按钮则清除所画内容,请将程序补充完整。

(图示是用Eclipse运行的显示效果,在此仅作参考)。

importjava.awt.*;

importjava.awt.event.*;

importjava.applet.*;

publicclassDrawingextendsApplet{

TextFieldte=newTextField(5);

Labella1=newLabel("请输入圆半径:

");

Buttondraw=

(1);

Buttonclear=newButton("清除");

Panelp1=newPanel(newFlowLayout());

Panelp2=newPanel(newFlowLayout());

intr;

publicvoidinit(){

this.setLayout(newBorderLayout());

p1.add(la1);

p1.add(te);

this.add(p1,"North");

p2.add(

(2));//draw

p2.add(clear);

this.add(p2,"South");

draw.addActionListener((3));//newdrawL()

clear.addActionListener(newclearL());

}

publicvoidpaint(Graphicsg){

g.setColor(newColor(255,0,0));

g.fillOval(30,50,(4));//2*r,2*r

g.setColor(newColor(0,0,0));

g.drawString("圆半径为:

"+r,56,46);

}

classdrawLimplementsActionListener{

publicvoidactionPerformed(ActionEvente){

intj=Integer.parseInt(te.getText());

(5)r=j;

repaint();

}

}

classclearLimplementsActionListener{

publicvoidactionPerformed(ActionEvente){

te.setText(null);

r=0;

repaint();

}

}

}

1):

【newButton("绘图")】

2):

【draw】

3):

【newdrawL()】

4):

【2*r,2*r】

5):

【r=j】

三、操作题

注意:

编程所需的常用方法参考见最后。

(一)程序调试题(本大题3小题,共8个错误,每改正一个2.5分,共20分)

1.从"C:

\素材"中取出check1.java文件,该程序有三个错误。

该程序运行时应输出如下的结果:

请按题中的要求调试修改该程序,并将结果(包括源文件、字节码文件)保存到C:

\KS目录中。

请务必在所修改的语句后加上注释语句:

//*****。

Check1:

publicclassTest2_1{

publicvoidmain(Stringargs[]){//*****插入static

inti;

for(i=1;i<=8;i+=1)//*****(i=1;i<=8;i+=1)->(i=1;i<=8;i+=2)

disp(i);

}

staticvoiddisp(inti){

for(intk=8;k>=i;k--)

System.out.print("");

for(intk=1;k<=i;k++)

System.out.print("*");

System.out.print("");//*****print–〉println

}

}

2.从"C:

\素材"中取出check2.java文件,该程序有两个错。

称序的功能是:

由键盘输入一个小于”100”的数字字符串(例如"38"),将它转换成整数,然后计算并输出从该整数到100之间所有整数的累加和。

请按题中的要求调试修改该程序,并将结果(包括源文件、字节码文件)保存到C:

\KS目录中。

请务必在所修改的语句后加上注释语句:

//*****。

importjava.io.*;

publicclasscheck2{

publicstaticvoidmain(Stringargs[])throwsIOException{

intnum1,s;

Stringstr;

BufferedReaderbuf;

buf=newBufferedReader(newInputStreamReader(System.in));

System.out.print("请输入整数:

");

str=buf.readLine();

num1=Integer.parseInt(str);

if(num1>=100)

System.out.print("输入的数已超出范围");

else

{s=0;

for(inti=num1;i<=100;i++)//*****‘<=’->‘<’

s=s*i;//*****‘*’->‘+’

System.out.println("Thesumis"+s);

}

}

}

3.从"C:

\素材"中取出check3.java文件,该程序在Item类中有三个错。

运行该程序应产生如下结果:

4foods

14televisions

10foods

请按题中的要求调试修改该程序,并将结果(包括源文件、字节码文件)保存到C:

\KS目录中。

请务必在所修改的语句后加上注释语句:

//*****。

publicclasscheck3{

publicvoidmain(String[]args){

Itemt1=newItem("food");

System.out.println(t1);

Itemt2=newItem("television");

System.out.println(t2);

t2.setValue(10);

System.out.println(t1);

}

}

classItem{

privateStringname;

privatestaticintvalue=0;

publicItem(StringtheName){

theName=name;//*****theName=name->name=theName

value=value+theName.length();

}

publicvoidsetValue(intnewValue){

value=newValue;

}

publicStringtoString{//*****toString->toString()

returnvalue+""+name;//*****name->name+’s’

}

}

(二)编程题(本题2小题,第1题15分,第2题20分,共35分)

1.从"C:

\素材"中取出mn.java文件,在该文件基础上进行补充,完成所需内容的编写。

该程序的功能是:

打印数组中所有的字符串。

若数组中有相同的字符串,则相同的字符串只打印一次。

其关键程序段以方法实现。

它是一个以字符串数组为参数,名为uniqueStrings()的方法。

请编写该方法。

程序完成后将程序编辑及运行所需要的所有文件(包括源程序文件、字节码文件)存放到C:

\KS目录下。

若执行正确的程序将输出如下结果:

one

two

three

参考程序:

publicclassmn{

publicstaticvoidmain(String[]args){

String[]words={"one","two","two","three","three","three","one"};

uniqueStrings(words);

}

privatestaticvoiduniqueStrings(String[]words){

for(inti=0;i

booleanunique=true;

for(intj=0;j

if(words[i].equals(words[j]))

unique=false;

}

if(unique)

System.out.println(words[i]);

}

}

}

2.从"C:

\素材"中取出Test5.java文件。

Test5创建三个Locker类的对象,调用相应的方法,完成给定要求的输出。

Locker类用来存放银行保管箱租用者的姓名(hirer)、柜号(cabinetNum)、箱号(num)以及是否空闲(isVacant)的信息。

当程序正确完成后,产生的输出如下所示:

C:

\>javaTest5

柜号:

3,箱号:

301当前由李瑞杰使用

柜号:

3,箱号:

302当前由张佳利使用

柜号:

2,箱号:

201当前由张佳利使用

现在空闲柜号:

3,箱号:

301当前空闲

同一租用者柜号:

3,箱号:

302当前由张佳利使用

同一租用者柜号:

2,箱号:

201当前由张佳利使用

具体要求:

(1)根据输出结果,完成main方法;

(2)程序中必须调用Student类实例方法至少一次;

(3)不能改变已给定的程序语句。

程序完成后将程序编辑及运行所需要的所有文件(包括源程序文件、字节码文件及html文件)存放到C:

\KS目录下。

Test5.Java

publicclassTest5{

publicstaticvoidmain(String[]args){

Lockerlock1,lock2,lock3;

lock1=newLocker("李瑞杰",3,301);

lock2=newLocker("张佳利",3,302);

lock3=newLocker("张佳利",2,201);

 

//在此处完成对应方法

 

}

}

publicclassLocker{

privateintnum,cabinetNum;

privatebooleanisVacant;

privateStringhirer;

publicLocker(Stringhire,intcabinet,intnum){

hirer=hire;

cabinetNum=cabinet;

this.num=num;

isVacant=false;

}

publicbooleangetIsVacant(){

returnisVacant;

}

publicvoidsetIsVacant(booleanb){

isVacant=b;

if(isVacant)

hirer="";

}

publicbooleanhasSameHirer(LockerotherL){

if(hirer.equals(otherL.hirer))

returntrue;

returnfalse;

}

publicStringtoString(){

Stringstr="柜号:

"+cabinetNum+",箱号:

"+num;

if(isVacant)

str+="当前空闲";

else

str+="当前由"+hirer+"使用";

returnstr;

}

}

参考答案:

publicstaticvoidmain(String[]args){

Lockerlock1,lock2,lock3;

lock1=newLocker("李瑞杰",3,301);

lock2=newLocker("张佳利",3,302);

lock3=newLocker("张佳利",2,201);

System.out.println(lock1.toString());

System.out.println(lock2.toString());

System.out.println(lock3.toString());

System.out.println();

lock1.setIsVacant(true);//使lock1设置为空闲

if(lock1.getIsVacant())

System.out.println("现在空闲"+lock1.toString());

System.out.println();

if(lock2.hasSameHirer(lock3)){

System.out.println("同一租用者"+lock2.toString());

System.out.println("同一租用者"+lock3.toString());

}

}

编程常用方法参考:

Integerclass

publicIntparseInt(Stringstr)

String

publicStringsubstring(intbeginIndex,intendIndex)

publicintlength()

publicbooleanequals(Stringcomparison)

Math

publicstaticdoublerandom()

Graphicsclass

voidsetColor(Colorcolor)

voiddrawRect(intx,inty,intwidth,intheight)

voiddrawOval(intx,inty,intwidth,intheight)

voidfillRect(intx,inty,intwidth,intheight)

voidfillOval(intx,inty,intwidth,intheight)

voiddrawLine(intx1,inty1,intx2,inty2)

ButtonandTextFieldclasses

voidaddActionListener(ActionListenerlistener)

StringgetText()

Appletclass

voidpaint(Graphicsg)

voidinit()

voidsetLayout(LayoutManagerlayout);

voidrepaint()

ObjectgetSource()

ActionListenerinterface

voidactionPerformed(ActionEvente)

MouseListenerinterface

voidmousePressed(MouseEvente)

voidmouseReleased(MouseEvente)

voidmouseClicked(MouseEvente)

voidmouseEntered(MouseEvente)

voidmouseExited(MouseEvente)

Mouseclass

intgetX()

intgetY()

voidaddMouseListener(MouseListenerlistener)

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

当前位置:首页 > 解决方案 > 工作计划

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

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