java模拟题及参考答案.docx
- 文档编号:5948901
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:15
- 大小:26.72KB
java模拟题及参考答案.docx
《java模拟题及参考答案.docx》由会员分享,可在线阅读,更多相关《java模拟题及参考答案.docx(15页珍藏版)》请在冰豆网上搜索。
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)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 模拟 参考答案
![提示](https://static.bdocx.com/images/bang_tan.gif)