完整版java复习题程序填空.docx
《完整版java复习题程序填空.docx》由会员分享,可在线阅读,更多相关《完整版java复习题程序填空.docx(17页珍藏版)》请在冰豆网上搜索。
完整版java复习题程序填空
程序填空题:
1.publicclassSum{
publicstaticvoidmain(String[]args){
intj=10;
System.out.println("jis:
"+j);
calculate(j);
System.out.println("Atlast,jis:
"+j);
}
staticvoidcalculate(intj){
for(inti=0;i<10;i++)
j++;
System.out.println("jincalculate()is:
"+j);
}
}
输出结果为:
jis:
(1)
jincalculate()is:
(2)
Atlastjis:
(3)
答案:
(1)10
(2)20(3)10
2.按要求填空
abstractclassSuperAbstract{
voida(){…}
abstractvoidb();
abstractintc(inti);
}interfaceAsSuper
{
voidx();
}
abstractclassSubAbstractextendsSuperAbstractimplementsAsSuper
{
publicvoidb(){…}
abstractStringf();
}
publicclassInheritAbstractextendsSubAbstract{
publicvoidx(){…}
publicintc(inti){…}
publicStringf(){…}
publicstaticvoidmain(Stringargs[]){
InheritAbstractinstance=newInheritAbstract();
instance.x();
instance.a();
instance.b();
instance.c(100);
System.out.println(instance.f());
}
}
在以上这段程序中:
抽象类有:
SuperAbstract和
(1)(写出类名)
非抽象类有:
(2)(写出类名)
接口有:
(3)(写出接口名)
AsSuper中的x()方法是(4)方法,所以在InheritAbstract中必须对它进行(5)答案:
(1)SuperAbstract;
(2)InheritAbstract;
(3)AsSuper;
(4)抽象抽象抽象抽象;
(5)覆盖和实现覆盖和实现覆盖和实现覆盖和实现。
3.按注释完成程序
publicclassLeaf{
privateinti=0;//此属性值用于检验
Leafincrement(){//定义方法increment(),返回值是Leaf类的对象
i++;
return
(1);//将当前对象的地址作为返回值返回
}
voidprint(){
System.out.println("i="+i);
}
publicstaticvoidmain(Stringargs[]){
Leafx=
(2);//af类的对象x
x.increment().increment().increment().print();
}//多次调用方法increment(),返回的都是x的地址,i值表示调用次数
}
输出结果为i=(3)
答案:
(1)this;
(2)newLeaf();
(3)3
4.按注释提示完成文件复制的程序
//FileStream源代码如下:
importjava.io.*;
classFileStream{
publicstaticvoidmain(Stringargs[]){
try{
FileinFile=newFile("file1.txt");//指定源文件
FileoutFile=newFile("file2.txt");//定目标文件
FileInputStreamfis=
(1);
FileOutputStreamfos=newFileOutputStream(outFile);
intc;
//逐字节从源文件中输入,再输出到fos流
while((c=fis.read())!
=-1)
(2);
fis.close();
fos.close();
}
catch(Exceptione){
System.out.println("FileStreamsTest:
"+e);
}
}
}
答案:
(1)newFileInputStream(inFile);
(2)fos.write(c);
5.阅读程序,给出结果:
//AbstractClassDemo.java源代码如下:
abstractclassShape{//定义抽象类Shape和抽象方法display
abstractvoiddisplay();
}
classCircleextendsShape{
voiddisplay(){//实现抽象类的方法
System.out.println("Circle");
}
}
classRectangleextendsShape{
voiddisplay(){//实现抽象类的方法
System.out.println("Rectangle");
}
}
classTriangleextendsShape{
voiddisplay(){//实现抽象类的方法
System.out.println("Triangle");
}
}
publicclassAbstractClassDemo{
publicstaticvoidmain(Stringargs[]){
(newCircle()).display();//定义无名对象来调用对应的display方法
(newRectangle()).display();
(newTriangle()).display();
}
}
输出结果是?
答案:
(1)Circle;
(2)Rectangle;(3)Triangle。
6.下面程序的运行结果是。
publicclassArrayTest
{
publicstaticvoidmain(String[]args)
{
int[]a=newint[4];
for(inti=0;i[i]=5-i;
for(intb:
a)
System.out.print(b);
}
}
答案:
5432
7.下面程序的运行结果是。
publicclassTest2
{
publicStringadd(Stringa)
{
a=a+“World”;
returna;
}
publicstaticvoidmain(String[]args)
{
Test2t=newTest2();
Strings=“hello”;
System.out.print(t.add(s));
}
}
答案:
helloWorld
8.下列代码执行的结果是
publicclassExpression
{
publicstaticvoidmain(String[]args)
{
intv1=10,v2=99,v3=0;
System.out.println((v1<0)&&(v2/v3)==3);
}
}
答案:
false
10下列代码的功能是把按钮save添加到窗口myFrame的中间,在空白处应填入的代码是。
publicclassMyFrame
{
publicstaticvoidmain(String[]args)
{
JFramemyFrame=newJFrame();
JButtonsave=newJButton();
myFrame.getContentPane().add(save,"");
myFrame.setSize(200,200);
myFrame.setVisible(true);
}
}
答案:
BorderLayout.CENTER
11.下列程序的功能是创建了一个显示5个“Hello!
”的线程并启动运行,请将程序补充完整。
public class ThreadTest extends Thread
{
public static void main (String args[ ])
{
ThreadTest t =new ;
T.start ( ) ;
}
public void run ( )
{
int i =0;
while(true)
{
System.out.println("Hello!
");
if (i++ = = 4) break;
}
}
}
答案:
ThreadTest
12.下列程序的功能是统计命令行参数的个数,请在下划线处填上适当的代码。
publicclassLength
{
publicstaticvoidmain(Stringargs[])
{
System.out.println("numberofStringargs:
"+args.);
}
}
答案:
length
13.定义一个立方体的类Prog1,属性包括长、宽、高;方法包括
:
构造方法(初始化立方体的长宽高)、计算体积方法、计
算底面积方法,显示立方体的各属性方法;最后创建一个立
方体对象,计算并显示其底面积和体积
classProg1
{
doublelength;
doublewidth;
doubleheight;
Prog1(,doublew,doubleh)
{
length=l;
;
height=h;
}
doublevolume()
{
length*width*height;
}
doublearea()
{
length*width;
}
voidprint()
{
System.out.println("立方体的长:
"+length+"宽:
"+width+"高:
"+height+"体积:
"+volume()+"底面积:
"+area());
}
publicstaticvoidmain(Stringargs[])
{
Prog1b=newProg1(3,4,5);
b.print();
}
}
答案:
1)doublel
2)width=w
3)return
4)return
14.定义一个学生类Prog1,包括姓名、学号、数学成绩、外语
成绩、计算机成绩等属性,以及初始化各属性的构造方法、
计算学生平均成绩的方法、显示学生成绩单的方法
importjava.awt.*;
publicclassProg1
{
Stringname;
longno;
doublemath;
doubleenglish;
doublecomputer;
Prog1(s,longn,doublem,doublee,doublec)
{
name=s;
no=n;
math=m;
english=e;
mputer=c;
}
publicverage()
{
return(math+english+computer)/3;
}
publicvoidprint
{
System.out.println("姓名:
"+name);
System.out.println("学号:
"+no);
System.out.println("数学成绩:
"+math);
System.out.println("外语成绩:
"+english);
System.out.println("计算机成绩:
"+computer);
}
publicstaticvoidmain(Stringargs[])
{
Prog1b=newProg1("李利",20030101,78,67,89);
b.print();
System.out.println("平均分:
"+b.);
}
}
答案1)String
2)double或float
3)()
4)average()
15.编写一个程序,把六个按钮分别标识为‘A’至‘F’,并排列成一行。
请将程序补充完整。
importjava.awt.*;
publicclassMyClass
{
publicstaticvoidmain(Stringargs[])
{
String[]labels={"A","B","C","D","E","F"};
Windowwin=newFrame();
win.setLayout(newGridLayout(1,6));
for(inti=0;iwin.add((labels[i]));
win.pack();
win.setVisible(true);
}
}
答案:
newButton
16.给定JAVA代码,如下:
ClassParent
{
publicvoidcount()
{
System.out.println(10%3);
}
}
publicclassTestextendsParent
{
publicvoidcount()
{
System.out.println(10/3);
}
publicstaticvoidmain(Stringargs[])
{
Parentp=newTest();
p.count();
}
}
运行编译后,输出结果是()。
答案:
3
17.以下程序的功能是完成求3×3矩形对角元素之和,补充完成程序。
publicclassT27{
publicstaticvoidmain(String[]args){
inti,j,sum=0;
inta[][]=newint[3][3];
for(i=0;i<3;i++){
for(j=0;j<3;j++){
a[i][j]=;//①
}
}
//输出二维数组
for(i=0;i<3;i++){
for(j=0;j<3;j++){
System.out.print(a[i][j]+"");
}
System.out.println();
}
//显示对角线之和
for(i=0;i<3;i++){
sum=;//②
}
System.out.println("对角线之和:
"+sum);
}
}
答案:
①i+j//为数组内每个元素赋值
②a[i][i]+a[i][3-i-1]
18.让小应用程序界面上的文字随鼠标点击移动。
使用mouseDown()方法捕获鼠标单击,并按单击点的坐标修改文字位置,最后使用drawString()方法重绘文字。
源代码:
importjava.awt.*;
importjava.applet.*;
publicclassT28extendsApplet{
intOutX=50,OutY=50;
publicvoidpaint(Graphicsg){
g.drawString("移动文字",OutX,OutY);
}
publicbooleanmouseDown(Evente,intx,inty){
___________;//③
___________;//④
repaint();
returntrue;
}
}
答案:
③this.OutX=x
④this.OutY=y
19.使用键盘上Home/End键控制小应用程序界面上的文字大小,每次增加/减少2pt,使用keyDown()方法捕获键盘操作,当按下Home/End键时修改文字大小,最后使用drawString()方法重绘文字。
源代码:
importjava.awt.*;
importjava.applet.*;
publicclassT29extendsApplet{
intfontSize=16;
publicbooleankeyDown(Evente,intkey){
switch(key){
caseEvent.HOME:
fontSize+=2;break;
caseEvent.END:
___________;//⑤
break;
}
repaint();
returntrue;
}
publicvoidpaint(Graphicsg){
g.setFont(newFont("宋体",Font.BOLD,___________));//⑥
g.drawString("Hello,JAVA!
",50,50);
}
}
答案:
⑤fontSize-=2
⑥fontSize
20.以下应用程序在数据库中删除一条数据。
使用Statement对象执行SQL语句。
源代码如下:
importjava.sql.*;
publicclassT30{
publicstaticvoidmain(String[]args){
Stringdriver="sun.jdbc.odbc.JdbcOdbcDriver";
Stringurl="jdbc:
odbc:
Student";
Stringuser="";
Stringpsw="";
try{
___________;//加载驱动程序⑦
}catch(Exceptione){
System.out.println("无法加载驱动程序!
");
}
try{
Connectioncon=DriverManager.getConnection(url,user,psw)
Statementsmt=con.createStatement()
___________("deletefromstuwhere学号='00013'");//删除数据//⑧
System.out.println("记录删除成功!
");
smt.close();
con.close();
}catch(SQLExceptione){
System.out.println("数据库连接失败!
");
}
}
}
答案:
⑦Class.forName(driver);
⑧smt.executeQuery