《Java程序设计》参考答案.docx

上传人:b****5 文档编号:3989034 上传时间:2022-11-26 格式:DOCX 页数:42 大小:48.44KB
下载 相关 举报
《Java程序设计》参考答案.docx_第1页
第1页 / 共42页
《Java程序设计》参考答案.docx_第2页
第2页 / 共42页
《Java程序设计》参考答案.docx_第3页
第3页 / 共42页
《Java程序设计》参考答案.docx_第4页
第4页 / 共42页
《Java程序设计》参考答案.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

《Java程序设计》参考答案.docx

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

《Java程序设计》参考答案.docx

《Java程序设计》参考答案

参考答案

一、判断题

1-10对,错,对,错,错,对,错,对,对,对

11-20对,错,错,错,对,错,对,对,对,对

21-30对,对,对,错,错,对,错,对,对,对

31-40对,对,对,对,错,对,错,对,对,对

41-50对,对,错,对,错,错,对,错,错,错

二、填空题

1、javac,java,jar,appletview

2、0.0f,false,基本,引用

3、6,248

4、false,3

5、MyPrg.java

6、Interger,parseInt()

7、2

8、抽象(或abstract),final

9、“abc”

10、引用(或复合),arraycopy

11、packageMyPackage,第一行

12、implements

13、new,protected

14、继承,接口

15、对象,interface

16、abstract,提供了一个基本类,实现代码或算法的重用

17、Object,importjava.util.* ;

18、Error和Exception

19、finally,throw,throws

20、InputStream,OutputStream,字节,字符

21、IOException,ArrayIndexOutOfBoundsException

22、newFileInputStream(“c:

\\test.txt”),readLine()

23、RandomAcessFileraf=newRandomAcessFile(“c:

\\test.txt”,“rw”);

i=raf.readInt();

24、GridLayout、CardLayout

25、轻量级,getContentPane(),setLayout

26、JFrame,JWindow,JDialog

27、Applet,MyApplet.java

28、init(),destroy()

29、add,GUI

30、Thread,Runnable

31、start,run

32、synchronized,

从全局考虑获得锁的顺序,并且在整个程序中都遵守这个顺序;释放锁时,要按加锁的反序释放。

33、sleep,setPriority()

34、Runnable,publicvoidrun(),newThread(rt),myThread.start()

35、TCP,UDP

36、getPort(),getLength()

37、ServerSocket,Socket

38、ServerSocket,Socket

39、accept(),receive()

40、accept(),receive()

三、选择题

1-10BCCBADCCAA

11-20BABCDBABBC

21-30CDBCBDADBC

31-40CABBDACCAA

41-50DBADBDCABA

51-60DADDDADDCD

61-70DABCBACCBB

71-80CDCBDABDDC

四、程序阅读题

1、输出结果如下:

Secondseason

3thseason

2、输出结果如下:

i=1

j=2

3、输出结果如下:

23

4、输出结果如下:

Hi!

IamTom

Howdoyoudo?

5、第8行编译出错,原因是第8行调用11行构造方法时,int参数不能与short类型匹配

6、输出结果如下:

6

7、第6行编译出错,原因是无法调用另一个类中private修饰的方法

8、输出结果如下:

Hello

Yava

9、输出结果如下:

捕获ArithmeticException异常

java.lang.ArithmeticException:

没有13月份!

10、输出结果如下:

userException:

数组可能越界!

退出返回!

11、输出结果如下:

捕获了一个零除异常

12、

1)container.put(fancyButton);改为container.add(fancyButton);

2)container.put(plainButton);改为container.add(plainButton);

3)fancyButton.addItemListener(handler);改为

fancyButton.addActionListener(handler);

4)plainButton.addItemListener(handler);改为

plainButton.addActionListener(handler);

5)itemStateChanged改为actionPerformed

13、输出结果如下:

张三的工资为1000元。

异常:

工资不能为负!

14、输出结果如下:

sizeinInner.doStuff():

11

sizeoftheInnerclass:

3

sizeoftheOuterclass:

2

15、输出结果如下:

15

11

10

 

16、有两种修改方法:

(1)如果采用程序中的implementsRunnable的方法,则修改的地方有以下3处,:

①第2行Stringstr[]=newString[10];改为

staticStringstr[]=newString[10];

②第11行的sleep(1000);改为Thread.sleep(1000);

③第20行的代码修改为以下两行:

Threadtt=newThread(t);//tt的变量名可取符合java语言规范的任何标识符

tt.start();

(2如果采用extends实现该线程程序,则修改的地方有以下3处:

①第1行的implementsRunnable修改为extendsThread

②第2行Stringstr[]=newString[10];改为

staticStringstr[]=newString[10];

③第20行的t.run();修改为t.start();

17、输出结果如下:

java

iavaC

Yava

18、

18.System.out.println(str1==str2);输出true

19.System.out.println(str2==str3);输出true

20.System.out.println(str2==str4);输出false

21.System.out.println(str4==str5);编译出错

22.System.out.println(str3.equals(str4));输出true

23.System.out.println(str4.equals(str5));输出false

24.System.out.println(stringReplace(str1));输出iavaC

25.System.out.println(bufferReplace(str5));输出iavaC

26.System.out.println(str1);输出java

27.System.out.println(str5);输出iavaC

19、有两种修改方法:

(1)如果采用程序中的implementsRunnable的方法,则修改的地方有以下4处,每改对一处给2分,总共8分:

①第3~5行写入构造方法,并且将第3行的str.length()改为str.length,修改后的代码如下:

publicTest(){

for(inti=0;i

str[i]=i+"-";

}

}

②第8行的str.length()改为str.length

③第9行的sleep(1000);改为Thread.sleep(1000);

④第18行的代码修改为以下两行:

Threadtt=newThread(t);//tt的变量名可取符合java语言规范的任何标识符

tt.start();

(2如果采用extends实现该线程程序,则修改的地方有以下4处,每改对一处给2分,总共8分:

①第一行的implementsRunnable修改为extendsThread

②第3~5行写入构造方法,并且将第3行的str.length()改为str.length,修改后的代码如下:

publicTest(){

for(inti=0;i

str[i]=i+"-";

}

}

③第8行的str.length()改为str.length

④第18行的t.run();修改为t.start();

20、

(1)小应用程序在加载阶段,在屏幕上打印结果是:

Applet初始化…

Applet启动...

(2)关闭这个小应用程序时,在屏幕上打印结果是:

Applet停止运行...

准备卸载...

21、输出结果如下:

MyFunc

22、输出结果如下:

eab

23、输出结果如下:

2

24、输出结果如下:

Theindexis10

Theindexis20

Theindexis30

25、输出结果如下:

10020

26、输出结果如下:

x=2

st.y=1

x=2

st.y=1

27、输出结果如下:

two

0

28、输出结果如下:

iofmethodI():

21

iofTest11:

3

iofTest1:

2

29、输出结果如下:

150

30、输出结果如下:

134

31、输出结果如下:

32、输出结果如下:

33、执行的顺序为:

1-4-5-6-2-3

34、每隔1s打印一个数字和-,运行结果是:

0-1-2-3-4-5-6-7-8-9-

五、程序填空题

1、

extendsJFrame

调用父类JFrame的构造方法,使得窗口的标题为Concentric

setSize(300,300);

使窗口为可见的,即可在屏幕上显示出来

输出结果为在窗口画8个同心圆,界面效果如下:

2、

创建path的File对象,对象引用名为f

判断f的对象是否为文件

递归调用scanFiles方法

该程序的作用是扫描C盘下所有的文件,并将文件的路径打印

3、

①abstract

②StringgetName

③extends

④getDescription()

⑤Stringargs[]

4、

extendsThread

让线程休眠n毫秒

t1.start();

程序的输出结果是:

3010

5、

Testt=newTest();

创建test.txt文件的FileInputStream对象,对象引用名为din

运行结果是:

two

0

6、

interfaceArea

MyCirclec=newMyCircle(5);

MyRectangler=newMyRectangle(2,3);

程序的功能是定义一个接口Area,其中包含一个计算面积的方法CalsulateArea(),然后设计MyCircle和MyRectangle两个类都实现这个接口中的方法CalsulateArea(),分别计算圆和矩形的面积,最后写出测试以上类和方法的程序。

7、

①WindowListerner

②WindowEvent

③addWindowListerner

④setSize

8、略

9、

server=newServerSocket(6000,50)

socket=server.accept();

output=newObjectOutputStream(socket.getOutputStream());

input=newObjectInputStream(socket.getInputStream());

socket.close();

catch(IOExceptionioException)或catch(ExceptionioException),ioException可取任何变量

10~11、略

五、程序改错题

1、

(1)doublePI;改为doublePI=Math.PI;

(2)classCycleextendsShape改为classCycleimplementsShape

(3)doublearea()改为publicdoublearea()

(4)System.out.println(PI*r*r);改为returnPI*r*r;

(5)在Cycle类中增加以下方法

publicdoubleperimeter(){

return2*PI*r;

}

或者去掉publicdoubleperimeter();

2、

第10行改为publicStringtoString()

16~19行改为Personp=newPerson("张三",20,"男");

20行改为System.out.println(p.toString());

3、

第4行的str.length()改为str.length

第8行start()改为run()

第11行的sleep(1000);改为Thread.sleep(1000);

六、编程题

1、参考代码如下:

classForDemo{

publicstaticvoidmain(Stringargs[]){

intn=0;

for(inti=10;i<=100;i++){

if(i%2==0&&i%3!

=0){

n++;

System.out.print(i+"");

}

if(n>=10){

n=0;

System.out.println();

}

}

}

}

2、有两种方法可实现题目给定的getY:

方法一:

若采用if语句实现,参考代码如下:

publicdoublegetY(doublet){

doubley=0.0;

if(t>=0&&t<1)y=t*t-1;

elseif(t>=1&&t<3)y=t*t*t-2*t-3;

elseif(t>=3&&t<5)y=t*t-t*Math.cos(t);

elseif(t>=5&&t<7)y=t+1;

elsey=t-1;

returny;

}

方法二:

若采用switch语句实现,参考代码如下:

publicdoublegetY(doublet){

doubley=0.0;

switch((int)t){

case0:

y=t*t-1;break;

case1:

case2:

y=t*t*t-2*t-3;break;

case3:

case4:

y=t*t-t*Math.cos(t);break;

case5:

case6:

y=t+1;break;

default:

y=t-1;

}

returny;

}

3、略

4、参考代码如下:

interfaceAreaInterface{

doublepai=Math.PI;

doublearea();

}

5、参考代码如下:

publicclassStudent{

privateStringname;

privateintage;

publicStudent(){

name="无名氏";

age=20;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicStringgetName(){

returnname;

}

publicvoidsetAge(intage){

this.age=age;

}

publicintgetAge(){

returnage;

}

publicbooleanisSameAge(Students){

if(s.age-this.age==0)returntrue;

returnfalse;

}

publicstaticvoidmain(Stringargs[]){

Students1=newStudent();

Students2=newStudent();

s2.age=20;

System.out.println(s1.isSameAge(s2));

}

}

6:

7、参考代码如下:

interfaceAreaInterface{

doublepai=Math.PI;

doublearea();

}

classRectangleimplementsAreaInterface{

privatedoublex,y;

publicRectangle(doublex,doubley){

this.x=x;

this.y=y;

}

publicdoublearea(){

returnx*y;

}

publicStringtoString(){

return"该长方形面积为:

"+area();

}

}

classTestArea{

publicstaticvoidmain(Stringargs[]){

Rectangler=newRectangle(10.0,20.0);

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

}

}

8~10:

11、参考代码如下:

publicclassTestArraySum{

int[]a=newint[10];

publicTestArraySum(){

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

a[i]=11+i;

}

}

publicintarraySum(int[]a){

intsum=0;

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

sum+=a[i];

returnsum;

}

publicstaticvoidmain(Stringargs[]){

TestArraySumt=newTestArraySum();

System.out.println(t.arraySum(t.a));

}

}

12、参考代码如下:

publicclassSuansu{

inta,b;

publicSuansu(){

a=10;

b=5;

}

publicintaddAB(){

returna+b;

}

publicintsubAB(){

returna>b?

a-b:

b-a;

}

publicintmultiAB(){

returna*b;

}

publicdoubleDivab(){

return(double)a>b?

a/b:

b/a;

}

}

classTestSuansu{

publicstaticvoidmain(Stringargs[]){

Suansus=newSuansu();

System.out.println(s.addAB());

System.out.println(s.subAB());

System.out.println(s.multiAB());

System.out.println(s.Divab());

}

}

13、参考代码如下:

classRectangle{

privateintwidth,height;

publicRectangle(intw,inth){

width=w;

height=h;

}

publicRectangle(){

width=4;

height=5;

}

publicintgetWidth(){

returnwidth;

}

publicintgetHeight(){

returnheight;

}

publicvoidsetWidth(intw){

if(w>0&&w<50){

width=w;

}

else

{

System.out.println("InvalidWidth");

}

}

publicvoidsetHeight(inth){

if(h>0&&h<30){

height=h;

}

else{

System.out.println("Invalidheight");

}

}

publicintgetPerimeter(){

returnwidth+width+height+height;

}

publicintgetArea(){

returnwidth*height;

}

publicvoiddraw(){

for(introwCounter=0;rowCounter

for(intcolCounter=0;colCounter

if(rowCounter==0||(rowCounter==height-1)||colCounter==0||(colCounter==width-1)){

System.out.print("*");

}

else{

System.out.print("");

}

System.out.println();

}//endfor

}//enddraw

}//endclass

classTestRectangle{

publicstaticvoidmain(Stringargs[]){

Rectangler1=newRectangle();

Rectangler2=newRectangle();

r1.setWidth(15);

r1.setHeight(5);

r2.setWidth(20);

r2.setHeight(7);

System.out.println(

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

当前位置:首页 > 小学教育 > 数学

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

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