Java2教程(第三版)課后習(xí)題參考答案(一)_第1頁(yè)
Java2教程(第三版)課后習(xí)題參考答案(一)_第2頁(yè)
Java2教程(第三版)課后習(xí)題參考答案(一)_第3頁(yè)
Java2教程(第三版)課后習(xí)題參考答案(一)_第4頁(yè)
Java2教程(第三版)課后習(xí)題參考答案(一)_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

課后習(xí)題參考答案,保證你滿意

第1章Java入門(mén)

1.開(kāi)發(fā)與運(yùn)行Java程序需要經(jīng)過(guò)哪些主要步驟和過(guò)程?

答:(1)編寫(xiě)Java源文件:使用文本編輯器(Edit或記事本),拓展名為.java

(2)編譯Java源文件:使用Java編譯器(javac.exe)。得到字節(jié)碼文件*.class

(3)運(yùn)行Java程序:Java應(yīng)用程序使用Java解釋器(java,exe)執(zhí)行字節(jié)碼文件;

Java小應(yīng)用程序使用支持Java標(biāo)準(zhǔn)的瀏覽器來(lái)執(zhí)行。

2.怎樣區(qū)分應(yīng)用程序和小應(yīng)用程序?應(yīng)用程序的主類(lèi)或小應(yīng)用程序的主類(lèi)必須用public修飾嗎?

答:①應(yīng)用程序必須有main方法,這個(gè)方法是程序執(zhí)行的入口。

小應(yīng)用程序沒(méi)有main方法。

②應(yīng)用程序的主類(lèi)不一定用public修飾;小應(yīng)用程序的主類(lèi)必須用public修飾。

3.Java程序是由什么組成的?一個(gè)程序中必須要有public類(lèi)嗎?Java源文件的命名規(guī)則是怎樣的?

答:①Java程序由類(lèi)組成。

②應(yīng)用程序可以沒(méi)有public類(lèi);小應(yīng)用程序一定有一個(gè)類(lèi)是public類(lèi)(主類(lèi))。

③應(yīng)用程序:如果只有一個(gè)類(lèi),源文件名與該類(lèi)的類(lèi)名相同,拓展名為.java:

有多個(gè)類(lèi)時(shí),如果有public類(lèi)(最多一個(gè)),源文件名與public類(lèi)的類(lèi)

名相同,拓展名是.java:沒(méi)有public類(lèi),源文件名與任何一個(gè)類(lèi)的類(lèi)名

相同即可,拓展名為.java。

小應(yīng)用程序:源文件名與主類(lèi)的類(lèi)名相同,拓展名是.java。

4.在運(yùn)行小程序的HTML文件中可以使用codebase屬性指定小程序的字節(jié)碼所駐留的目錄。如果不使用

codebase屬性,小程序的字節(jié)碼文件必須和運(yùn)行它的HTML文件在同?目錄中。編寫(xiě)一個(gè)小程序并將小程序

的字節(jié)碼存放在某個(gè)目錄中,比如C:\5000;把運(yùn)行該小程序的HTML文件(注意其中的codebase屬性):

<appletcode=你的小程序的字節(jié)碼width-200height-300codebase=C:\5000>

</applet>

存放在另一個(gè)目錄中。

答:以書(shū)中小應(yīng)用程序?yàn)槔M(jìn)行說(shuō)明:

①編寫(xiě)Java小應(yīng)用程序源代碼

importjava,applet.*;

importjava.awt.*;

publicclassBoyextendsApplet

(

publicvoidpaint(Graphicsg)

(

g.setColor(Color,red);

g.drawString("我?邊喝著咖啡,?邊學(xué)Java呢”,5,30);

g.setColor(Color,blue);

g.drawString(〃我學(xué)得很認(rèn)真”,10,50);

}

}

②將上述代碼命名為Boy.java并進(jìn)行編譯得到Boy.class字節(jié)碼文件:將得到的字節(jié)碼文件存放在

C:\5000文件夾下;

③編寫(xiě)小應(yīng)用程序的HTML源文件:

<appletcode=Boy.classwdith=200height=300codebase=C:\5000></applet>

④將上述編寫(xiě)好的代碼命名為Boy.hlml;并將此文件存放在C:\5000文件夾以外的任意一個(gè)文件夾中(如

C:\1000):

⑤運(yùn)行Boy.hlml。

第2章標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類(lèi)型

1.什么叫標(biāo)識(shí)符?標(biāo)識(shí)符的規(guī)則是什么?

答:①用來(lái)標(biāo)識(shí)類(lèi)名、變量名、、方法名、類(lèi)型名、數(shù)組名、文件名的有效字符序列。

②由字母、下劃線、美元符號(hào)和數(shù)字組成,并且第一個(gè)字符不能是數(shù)字字符,而且關(guān)鍵字不能作為標(biāo)識(shí)符。

2.什么叫關(guān)鍵字?請(qǐng)說(shuō)出5個(gè)關(guān)鍵字。

答:①Java語(yǔ)言中已經(jīng)被賦予特定意義的一些單詞。

②classbreakpublicreturnstaticextends等。

3.Java的基本數(shù)據(jù)類(lèi)型都是什么?

答:boolean(邏輯型)char(字符型)floatsdouble(浮點(diǎn)型)byte、short、int、long(整型)。

4.下列哪些語(yǔ)句是錯(cuò)誤的:

intx=8;

byteb=127;

b二x;

答:b=x語(yǔ)句錯(cuò)誤:原因是高級(jí)別的變量賦值給低級(jí)別的變量時(shí),一定要用顯式轉(zhuǎn)換即b=(byte)x;。

5.卜.列程序的輸出結(jié)果是什么?

publicclassE

(

publicstaticvoidmain(Stringargs[])

(

long[]a={l,2,3,4}:

long[]b={100,200,300,400,500);

b=a;

System,out.printIn(“數(shù)組b的長(zhǎng)度:"+b.length);

System.out.print1n(*b[0]=,,+b[0]);

)

)

答:數(shù)組b的長(zhǎng)度:4

b[0]=l

6.上機(jī)運(yùn)行下列程序,注意觀察輸出結(jié)果。

publicclassE

{

publicstaticvoidmain(Stringargs[])

(

for(inti=20302;i<20322;i++)

System,out.printIn((char)i);

)

)

答:低住佐佑俠體估何能佗余余佚佛作佝佞佟你價(jià)

7.System.out,printIn("你好");可輸出字符串,也可以使用System.out.printing)輸出變量或表達(dá)

式的值,只需使用并置符號(hào)“+”將變量、表達(dá)式或一個(gè)常數(shù)值與一個(gè)字符串并置即可,如:

System.out.printIn(w”+x);System,out.println(+123+“大于"+122);等。上機(jī)調(diào)試卜列程序,

注意觀察結(jié)果,特別注意System.out.print()和System.out.println()的區(qū)別。

publicclassOutputData

(

publicstaticvoidmain(Stringargs[])

(

intx=234,y=432;

System.out.printIn(x+“<”+(2*x));

System.out.print("我輸出結(jié)果后不回車(chē)");

System.out.printin("我輸出結(jié)果后自動(dòng)回車(chē)到下一行“);

System,out.printinC/x+y="+(x+y));

System.out.printing"+x+y+”=234432");

)

)

答:234<468

我輸出結(jié)果后不回車(chē)我輸出結(jié)果后自動(dòng)回車(chē)到下一行

x+y=666

234432=234432

8.編寫(xiě)一個(gè)Java應(yīng)用程序,輸出全部的希臘字母。

答:

publicclassa

(

publicstaticvoidmain(Stringargs[])

{System.out.println("這是我的第一個(gè)程序”);}

}第3章運(yùn)算符、表達(dá)式和語(yǔ)句

i.下列程序的輸出結(jié)果是什么?

publicclassE

(

publicstaticvoidmain(Stringargs口)

{

charx='你',y="e',z=,吃,;

if(x>'A')

{

y='愛(ài)’;

z='情;

}

else

y='我';

z='她’;

System,out.println(*“+x+y+z);

)

)

答:你愛(ài)她

2.卜列程序的輸出結(jié)果是什么?

publicclassE3

(

publicstaticvoidmain(Stringargs[])

(

charc=,\0';

for(inti=1;i<=4;i++)

(

switch(i)

(

case1:c='b';

System.out.print(c):

case2:c='e;

System,out.print(c):

break;

case3:c=,p';

System.out.print(c);

default:

System.out.print("!");

)

)

)

)

答:beep!!

3.編寫(xiě)應(yīng)用程序,求1!+2!+-+10!o

答:

classFact

(

publicstaticvoidmain(Stringargs[])

(

intfact,sum=0;

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

(

fact=l;

for(intj=l;j<=i;j++)

fact*二j;

sum+=fact;

}

System.out.println(〃l到10的階乘之和是:"+sum);

4.編寫(xiě)一個(gè)應(yīng)用程序,求100以?xún)?nèi)的全部素?cái)?shù)。

答:

classPrimes

(

publicstaticvoidmain(Stringargs口)

(

intw=l;

for(inti=2;i<=100;i++)

(

for(intj=2;j<i;j++)

(

if(w==0)

break;

)

if(w!=0)

System.out.println(i+"是素?cái)?shù)〃);

}

)

)

5.分別用do-while和for循環(huán)計(jì)算1+1/2!+1/3!+1/4!+…的前20項(xiàng)和。

答:①for循環(huán)

classSum

(

publicstaticvoidmain(Stringargs[])

(

intfact;

doublesum=0;

for(inti=l;i<=20;i++)

(

fact=l;

for(intj=l;j<=i;j++)

fact*=j;

sum+=L0/fact;

}

System.out.println(sum);

)

}

②do—whiIe循環(huán)

classSum

publicstaticvoidmain(Stringargs[])

inti=1;

intfact;

doublesum=0;

do

(

fact=l;

intj=0;

while(++j<=i)

fact*二j;

sum+=l.0/fact;

}

while(++i<=20);

System,out.println(sum);

}

}

6.一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱(chēng)為“完數(shù)”。編寫(xiě)應(yīng)用程序,求1000之內(nèi)的所有完數(shù)。

答:

classWanshu

{

publicstaticvoidmain(Stringargs[])

(

intx,i,sum;

for(x=l;x<=1000;x++)

(

sum=0:

for(i=l;i<x;i++)

(

if(x%i==0)

sum+=i;

)

if(x==sum)

System.out.printIn(x+"是完數(shù)”);

)

)

)

7.編寫(xiě)應(yīng)用程序,分別使用while和for循環(huán)計(jì)算8+88+888+…前10項(xiàng)之和。

答:①for循環(huán)

classTheSum

(

publicstaticvoidmain(Stringargs[])

(

longsum=0,data=8;

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

sum=sum+dala;

data=data*10+8;

}

System,out.println(sum);

)

)

②while循環(huán)

classTheSum

(

publicstaticvoidmain(Stringargs[])

(

longsum=0,data=8,i=0;

while(++i<=10)

(

sum=sum+data;

data=data*10+8;

)

System,out.println(sum);

)

)

8.編寫(xiě)應(yīng)用程序,輸出滿足1+2+3+…+n<8888的最大正整數(shù)n。

答:

classMaxn

(

publicstaticvoidmain(Stringargs[])

(

intk=l,sum=0;

while((sum+=k)<8888)

k++;

k一;

System,out.printIn(〃最大能取到:"+k);

)

}

第4章類(lèi)、對(duì)象和接口

1.類(lèi)中的實(shí)例變量在什么時(shí)候會(huì)被分配內(nèi)存空間?

答:當(dāng)該類(lèi)創(chuàng)建對(duì)象之后,實(shí)例變量才會(huì)被分配相應(yīng)的內(nèi)存空間。

2.什么叫方法的重載?構(gòu)造方法可以重載嗎?

答:①一個(gè)類(lèi)中可以有多個(gè)方法具有相同的名字,但這些方法的參數(shù)必須不同,即或者是參數(shù)的個(gè)數(shù)不同,

或者是參數(shù)的類(lèi)型不同(方法的重載體現(xiàn)了多態(tài)性,即功能多態(tài)性)。

②構(gòu)造方法可以重載。

3.類(lèi)中的實(shí)例方法可以操作類(lèi)變量(static變量)嗎?類(lèi)方法(static方法)可以操作實(shí)例變量嗎?

答:①類(lèi)中的實(shí)例方法可以操作類(lèi)變量。

②類(lèi)方法不可以操作實(shí)例變量

4.類(lèi)中的實(shí)例方法可以用類(lèi)名直接調(diào)用嗎?

答:類(lèi)中的實(shí)例方法不可以用類(lèi)名直接調(diào)用。

5.舉例說(shuō)明protected方法和友好方法的區(qū)別。

答:當(dāng)子類(lèi)與父類(lèi)不在同一個(gè)包中時(shí),子類(lèi)可以繼承父類(lèi)的protected方法:而友好方法此時(shí)則不能被子類(lèi)

繼承。

6.舉例說(shuō)明類(lèi)變量和實(shí)例變量的區(qū)別。

答:⑴書(shū)寫(xiě):定義成員變量時(shí),類(lèi)變量有static修飾;實(shí)例變量沒(méi)有static修飾。

例:classA

(

intx;〃實(shí)例變量

staticinty;〃類(lèi)變量

)

⑵內(nèi)存:不創(chuàng)建對(duì)象,類(lèi)的實(shí)例變量不會(huì)被分配內(nèi)存空間;類(lèi)變量被分配相應(yīng)的內(nèi)存空間。

不同對(duì)象的實(shí)例變量被分配不同的內(nèi)存空間:不同對(duì)象的類(lèi)變量被分配相同的內(nèi)存空間。

任何一個(gè)對(duì)象改變類(lèi)變量,其他對(duì)象的相應(yīng)類(lèi)變量也發(fā)生相應(yīng)變化。

一個(gè)對(duì)象的實(shí)例變量發(fā)生改變,不影響其他對(duì)象的相應(yīng)實(shí)例變量。

例:執(zhí)行語(yǔ)句:Al.x=10;Al.y=20;

這時(shí)A2.x的值也是10;而A2.y的值保持原來(lái)的初值。

⑶使用:類(lèi)變量可以被類(lèi)方法操作;而實(shí)例變量不能被類(lèi)方法操作。

例:classA

(

intx;

staticinty;

staticvoidfunc()

(

b=10;〃合法

a=20;〃非法

)

)

類(lèi)變量可以通過(guò)類(lèi)名訪問(wèn);實(shí)例變量不能通過(guò)類(lèi)名訪問(wèn)。

例:classA

{

intx;

staticinty;

)

classB

(

publicvoidfunc();

A.x=10;〃非法

A.y=20;//合法

7.子類(lèi)將繼承父類(lèi)的哪些成員變量和方法?子類(lèi)在什么情況下隱藏父類(lèi)的成員變量和方法?在子類(lèi)中是

否允許有一個(gè)方法和父類(lèi)的方法名字相同,而類(lèi)型不同?

答:①子類(lèi)和父類(lèi)在同一個(gè)包中時(shí),子類(lèi)可以繼承父類(lèi)的除private屬性的所有方法和成員變量,當(dāng)子類(lèi)與

父類(lèi)不在同一■個(gè)包中時(shí),子類(lèi)只能繼承父類(lèi)的protected和public屬性的成員變量和方法。

②子類(lèi)中定義的成員變量和父類(lèi)中的成員變量同名時(shí),子類(lèi)就隱藏了繼承的成員變量;子類(lèi)中定義一個(gè)方

法,并且這個(gè)方法的名字、返回類(lèi)型、參數(shù)個(gè)數(shù)和類(lèi)型與從父類(lèi)繼承的方法完全相同,子類(lèi)就隱藏從父類(lèi)

繼承來(lái)的方法(方法的重寫(xiě))。

③在子類(lèi)中允許有一個(gè)方法和父類(lèi)的方法名字相同而類(lèi)型不同。

8.父類(lèi)的final方法可以被子類(lèi)重寫(xiě)嗎?

答:父類(lèi)的final方法不能被子類(lèi)重寫(xiě)。

9.什么類(lèi)中可以有abstract方法?

答:abstract類(lèi)中可以有abstract方法。

10.什么叫對(duì)象的上轉(zhuǎn)型對(duì)象?

答:B類(lèi)是A類(lèi)的子類(lèi)或間接子類(lèi),當(dāng)用子類(lèi)B創(chuàng)建一個(gè)對(duì)象b并把這個(gè)對(duì)象的引用放到A類(lèi)的對(duì)象a中時(shí),稱(chēng)A

類(lèi)對(duì)象a是子類(lèi)對(duì)象b的上轉(zhuǎn)型對(duì)象。

11.什么叫接口的回調(diào)?

答:可以把實(shí)現(xiàn)某一接口的類(lèi)創(chuàng)建的對(duì)象的引用賦給該接口聲明的接口變量中。

12.下列程序有什么錯(cuò)誤?

publicclassTakecare

inta=90;

staticfloatb=10.98f;

publicstaticvoidmain(Stringargs[])

(

f1oatc=a+b;

System.out.printIn(z,c=z,+c);

)

)

答:語(yǔ)句floatc=a+b;錯(cuò)誤。原因是類(lèi)方法main操作了實(shí)例變量a。

13.請(qǐng)寫(xiě)出下列程序的輸出結(jié)果。

classA

{

publicintf(intx)

(

returnx+1;

}

)

classBextendsA

publicintf(intx)

returnx*x;

)

}

publicclassE

(

publicstaticvoidmain(Stringargs[])

(

Aa=newB();

intm=a.f(10);

System,out.printIn(m);

}

)

答:100

14.請(qǐng)寫(xiě)出下列程序的輸出結(jié)果。

classA

{

intx;

publicvoidsetX(intx)

(

this.x=x;

)

intgetXO

returnx;

}

}

classB

(

publicvoidf(Aa)

(

a.setX(100);

)

)

publicclassE

(

publicstaticvoidmain(Stringargs[])

Aa=newA();

a.setX(8);

System,out.printIn(a.getXO);

Bb=newB();

b.f(a);

System,out.printin(a.getXO);

)

)

答:8

100

15.使用接口有哪些注意事項(xiàng)?模仿例子4.27,編寫(xiě)一個(gè)類(lèi)實(shí)現(xiàn)兩個(gè)接口的程序。

答:①一個(gè)類(lèi)使用接口時(shí),要有implements關(guān)鍵字,當(dāng)一個(gè)類(lèi)使用多個(gè)接口時(shí),接口名要用逗號(hào)“,”隔開(kāi);

使用接口的類(lèi)除abstract類(lèi)外,必須實(shí)現(xiàn)接口的所有方法,并且實(shí)現(xiàn)接口的方法時(shí),方法名字、返回類(lèi)型、

參數(shù)個(gè)數(shù)及類(lèi)型必須與接口中的完全一致:類(lèi)在實(shí)現(xiàn)接口時(shí),方法體一定要用public修飾,如果接口方法

的返回類(lèi)型不是void型,在類(lèi)中實(shí)現(xiàn)接口時(shí),方法體至少有一個(gè)return語(yǔ)句。

②interface表面積

(

doubleallArea(doubler);

)

interface體積

{

doublevolu(doubler);

)

classSphimplements表面積,體積

(

doublePI=3.14159;

publicdoubleallArea(doubler)

(

return4*PI*r*r;

publicdoublevolu(doubler)

(

return4.0/3*PI*r*r*r;

)

}

publicclassTest

(

publicstaticvoidmain(Stringargs[])

(

doubler=5.0;

Spha=newSph();

System,out.printIn(〃半徑為5的球的表面積是:〃+a.al1Area(r));

System.out.printin("半徑為5的球的體積是:"+a.volu(r));

16.編寫(xiě)一個(gè)類(lèi)A,該類(lèi)創(chuàng)建的對(duì)象可以調(diào)用方法f輸出英文字母表,然后再編寫(xiě)一個(gè)該類(lèi)的子類(lèi)B,要求子

類(lèi)B必須繼承A類(lèi)的方法f(不允許重寫(xiě)),子類(lèi)創(chuàng)建的對(duì)象不僅可以調(diào)用方法f輸出英文字母表,而且調(diào)用子

類(lèi)新增的方法g輸出希臘字母表。

答:classA

(

intm;

voidf()

(

for(m=65;m<91;m++)

System,out.print((char)m+z,");

for(m=97;m<123;m++)

System,out.print((char)m+z,");

System,out.printIn(*");

)

}

classBextendsA

(

inti;

voidg()

(

for(i=913;i<930;i++)

System,out.print((char)");

for(i=931;i<938;i++)

System,out.print((char)i+z,");

for(i=945;i<962;i++)

System,out.print((char)");

for(i=963;i<970;i++)

System,out.print((char)");

System,out.printInC*");

}

)

publicclassTest

(

publicstaticvoidmain(Stringargs[])

(

Bb=newB();

System.out.printin("我調(diào)用方法f輸出英文字母表:”);

b.f();

System.out.printin(〃我調(diào)用方法g輸出希臘字母表:“);

b.g();

)

}

17.編寫(xiě)一個(gè)異常類(lèi)MyException,再編寫(xiě)一個(gè)類(lèi)Student,該類(lèi)有一個(gè)產(chǎn)生異常的方法publicvoid

speak(intm)throwsMyException,要求參數(shù)m的值大于1000時(shí),方法拋出一個(gè)MyExceplion對(duì)象。最后編

寫(xiě)主類(lèi),在主類(lèi)的main方法中用Student創(chuàng)建一個(gè)對(duì)象,讓該對(duì)象調(diào)用speak方法。

答:classMyExceptionextendsException

(

Stringstrl;

MyException(intm)

(

strl=m+"出現(xiàn)錯(cuò)誤可能造成的原因是取值大于1000〃;

}

publicvoidshowStr1()

(

System,out.println(strl);

)

)

classStudent

(

publicvoidspeak(intm)throwsMyException

{

if(m>1000)

(

MyExceptionexception=newMyException(m);

throwexception;

}

else

System,out.println(m);

}

}

publicclassTest

publicstaticvoidmain(Stringagrs[])

(

intm;

Studentstul=newStudent();

m=987;

try

stul.speak(m);

m=1234;

stul.speak(m);

)

catch(MyExceptione)

(

e.showStr1();

}

)

}

18.編寫(xiě)一個(gè)類(lèi),該類(lèi)有一個(gè)方法publicintf(inta,intb),該方法返回a和b的最大公約數(shù)。然后再編

寫(xiě)一個(gè)該類(lèi)的子類(lèi),要求子類(lèi)重寫(xiě)方法3而且重寫(xiě)的方法將返Ria和b的最小公倍數(shù)。要求在重寫(xiě)的方法的

方法體中首先調(diào)用被隱藏的方法返回a和b的最大公約數(shù)m,然后將乘積(a*b)/m返回。要求在應(yīng)用程序的主

類(lèi)中分別使用父類(lèi)和子類(lèi)創(chuàng)建對(duì)象,并分別調(diào)用方法f計(jì)算兩個(gè)正整數(shù)的最大公約數(shù)和最小公倍數(shù)。

答:classA

(

publicintf(inta,intb)

{

if(a<b)

{

inttemp=0;

temp二a;

a=b;

b二temp;

)

intr=a%b;

while(r!=0)

(

a=b;

b二r;

r=a%b;

)

returnb;

)

)

classBextendsA

publicintf(inta,intb)

intm;

m二super,f(a,b);

return(a*b)/m;

)

publicclassTest

(

publicstaticvoidmain(Stringargs口)

{

Aa=newA();

System.out.printIn(“18和102的最大公約數(shù)是:"+a,f(18,102));

Bb=newB();

System.out.println(〃18和102的最小公倍數(shù)是:"+b.f(18,102));

)

)

第5章字符串

1.使用String類(lèi)的publicStringtoUpperCase()方

法可以將一個(gè)字符串中的小寫(xiě)字母變成大寫(xiě)字母,使

用publicStringtoLowerCase()方法可以將一個(gè)字

符串中的大寫(xiě)字母變成小寫(xiě)字母。編寫(xiě)一個(gè)程序,使

用這兩個(gè)方法實(shí)現(xiàn)大小寫(xiě)的轉(zhuǎn)換。

答:classTest

(

publicstaticvoidmain(Stringargs[])

(

Stringstr=〃IcanuseJava”;

System,out.printin(〃要轉(zhuǎn)換的字符串是:〃+str);

Strings=str.toUpperCase();

System.out.printin(〃轉(zhuǎn)換成大寫(xiě)字符串是:〃+s);

s=str.toLowerCase();

System.out.printin(〃轉(zhuǎn)換成小寫(xiě)字符串是:〃+s);

2.使用String類(lèi)的publicStringconcat(String

str)方法可以把調(diào)用該方法的字符串與參數(shù)指定的

字符串連接,把str指定的串連接到當(dāng)前串的尾部獲

得一個(gè)新的串。編寫(xiě)一個(gè)程序通過(guò)連接兩個(gè)串得到一

個(gè)新串,并輸出這個(gè)新串。

答:classTest

(

publicstaticvoidmain(Stringargs[])

(

Stringstrl二〃Icanu〃;

Stringstr2二〃seJava”;

Strings=strl.concat(str2);

System,out.printin(〃將字符串〃+strl+〃與字符串

〃+str2+〃連接后得到的新字符串是:〃);

System,out.printin(s);

3.String類(lèi)的publiccharcharAt(intindex)方法

可以得到當(dāng)前字符串index位置上的一個(gè)字符。說(shuō)出下

列程序的輸出結(jié)果。

publicclassE3

(

publicstaticvoidmain(Stringargs[])

(

Strings二〃中國(guó)科學(xué)技術(shù)大學(xué)〃;

chara=s.charAt(2),b=s.charAt(6);

System,out.print(a);

System,out.printin(b);

}

)

答:科大

4.使用java,util包中的Arrays類(lèi)的靜態(tài)方法public

staticvoidsort(doublea[])可以把參數(shù)a指定的

double型數(shù)組按升序排序,使用java,util包中的

Arrays類(lèi)的靜態(tài)方法publicstaticvoid

sort(doublea[],intstart,intend)可以把參數(shù)a

指定的double型數(shù)組中從位置start到endT位置的數(shù)

按升序排序。寫(xiě)出下列程序的輸出結(jié)果。

importjava.util.*;

publicclassE4

publicstaticvoidmain(Stringargs[])

inta□={23,67,89,90,-987};

double

b[]={12.89,90.87,34,678,987,-98.78,0.89};

Arrays,sort(a);

Arrays,sort(b,1,4);

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

(

System,out.print(a[i]+〃,〃);

}

for(inti=0;i<b.length;i++)

(

System.out.print(b[i]+〃,〃);

口?

-987,23,67,89,90,12.89,34.0,90.87,678.987,-98.

78,0.89,

5.使用java,lang包中System類(lèi)的靜態(tài)方法

arraycopy可以實(shí)現(xiàn)數(shù)組的快速?gòu)?fù)制,上機(jī)實(shí)習(xí)下列程

序,并總結(jié)出arraycopy方法參數(shù)的使用規(guī)則。

publicclassArrayCopy

(

publicstaticvoidmain(Stringargs[])

(

char

al□二

3''4','5','6'};

System,arraycopy(al,0,bl,1,al.length-1);

System,out.printin(newString(al));

System.out.printin(newString(bl));

byte

a2[]={97,98,99,100,101,102},b2[]={65,67,68,69,

70,71);

System,arraycopy(b2,0,a2,3,b2.length-3);

System,out.printin(newString(a2));

System.out.printin(newString(b2));

)

)

答:①運(yùn)行結(jié)果:abcdef

1abode

abcACD

ACDEFG

②arraycopy的方法是publicstaticvoid

arraycopy(Objectsrc,intsrcPos,Objectdest,

intdestPos,intlength)o其中五個(gè)參數(shù)分別表示:

src-被復(fù)制的數(shù)組

srcPos-從第幾個(gè)元素開(kāi)始復(fù)制

dest-要復(fù)制到的數(shù)組

destPos-從第幾個(gè)元素開(kāi)始粘貼

length-一共需要復(fù)制的元素個(gè)數(shù)

第6章時(shí)間、日期和數(shù)字

1.用Data類(lèi)不帶參數(shù)的構(gòu)造方法創(chuàng)建日期,要求日期

的輸出格式是:星期小時(shí)分秒。

答:importjava.util.*;

importjava.text.*;

classTest

(

publicstaticvoidmain(Stringargs[])

(

Date時(shí)間二newDate();

SimpleDateFormats=newSimpleDateFormat(/ZEHH

時(shí)mm分ss秒〃);

System,out.printin(s.format(時(shí)間));

2.輸出2006年2月的日歷頁(yè),程序需處理閏年問(wèn)題。

答:importjava.util.*;

classTest

(

publicstaticvoidmain(Stringargs[])

(

intyear=2006,month=2;

intallDay;

if((year%4-0&&year%100!=0)||(year%400==0))

allDay=29;

else

allDay=28;

Calendarfeb=Calendar,getlnstance();

feb.set(2006,1,1);

intdat=feb.get(Calendar.DAY_OF_WEEK)-1;

Stringa[]=newString[dat+allDay];

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

a[i]二〃〃;

for(inti=dat,n=l;i<(dat+allDay);i++)

(

if(n<=9)

a[i]=String.valueOf(n)+z,〃;

else

a[i]=String.valueOf(n)+〃〃;

n++;

)

System,out.println(,z〃+year+〃年〃+month+〃月

〃);

System.out.printin(,/H一二三四五六〃);

for(intj=0;j<a.length;j++)

(

if(j%7==0)

(

System,out.printing〃);

System.out.print(a[j]);

3.計(jì)算某年、某月、某日和某年、某月、某日之間的

天數(shù)間隔。要求年、月、日通過(guò)main方法的參數(shù)傳遞

到程序中。

答:importjava.util.*;

classTest

(

publicstaticvoidmain(Stringargs[])

(

Calendarc=Calendar.getlnstance();

c.set(2000,0,1);

longtimel=c.getTimelnMillis();

c.set(2008,7,8);

longtime2=c.getTimelnMillis();

longdayCous=(time2-time1)/(1000*60*60*24);

System,out.printIn(〃2008年8月8日和2000年1月1日

相隔〃+dayCous+〃天〃);

}

}

4.編程練習(xí)Math類(lèi)的常用方法。

答:importjava.text.*;

publicclassTest

publicstaticvoidmain(Stringargs[])

(

doublea二Math,abs(-10);

System,out.printin(〃T0的絕對(duì)值是:〃+a);

doublemaxNum=Math.max(123.456,-5.4321);

System,out.printin(z,123.456與-5.4321中的最大值

是:〃+maxNuni);

doubleminNum=Math.min(123.456,-5.4321);

System,out.printin(z,123.456與-5.4321中的最小值

是:〃+minNuni);

intrandomNum=(int)(Math,random()*10)+1;

System.out.printin(〃輸出一個(gè)1到10的隨機(jī)數(shù)

是:/,+randomNum);

doublepowNum=Math.pow(2,10);

System,out.printin(〃2的10次幕是:〃+powNum);

doublesqrtNum=Math.sqrt(10);

System,out.printin(〃10的平方根是:〃+sqrtNwn);

doublelogNum=Math.log(2);

System,out.printIn(〃2的對(duì)數(shù)是:〃+logNum);

doublesinNum=Math.sin(-10);

System,out.printin(〃-10的正弦值是:〃+sinNum);

doubleasinNum=Math.asin(0.5);

System,out.printin(z,0.5的反正弦值

是:〃+asinNum);

System.out.printIn(〃格式化之前的數(shù)

是:〃+sqrtNum);

NumberFormatf=NumberFormat.getlnstance();

f.setMaximumFractionDigits(10);

f.setMinimumlntegerDigits(4);

Strings二f.format(sqrtNum);

System,out.printin(〃格式化后:〃+s);

)

}

5.使用Biginteger類(lèi)計(jì)算1!+3!+5!+7!+…的前30

項(xiàng)的和。

答:importjava.math.*;

publicclassTest

(

publicstaticvoidmain(Stringargs[])

Bigintegersum=newBiginteger(〃0〃),

jieCheng=newBiginteger(〃1〃),

ONE=newBiginteger(〃1〃),

i二ONE;

intk=0;

while(++k<=30)

(

sum=sum.add(jieCheng);

i=i.add(ONE);

jieCheng=jieCheng.multiply(i);

i=i.add(ONE);

jieCheng=jieCheng.multiply(i);

}

System,out.printin(sum);

}

)

第7章AWT組件及事件處理

1.Frame類(lèi)對(duì)象的默認(rèn)布局是什么布局?和Panel類(lèi)

對(duì)象的默認(rèn)布局相同嗎?

答:①Frame類(lèi)對(duì)象的默認(rèn)布局是BorderLayout布局;

②不相同,Panel類(lèi)對(duì)象的默認(rèn)布局是FlowLayout布

局。

2.一個(gè)容器對(duì)象是否可以使用add方法添加一個(gè)

Frame窗口?

答:不可以。

3.Checkbox對(duì)象可以觸發(fā)ItemEvent事件嗎?

答:可以。

4.編寫(xiě)應(yīng)用程序,有一個(gè)標(biāo)題為“計(jì)算的窗口”的窗

口,窗口的布局為FlowLayout布局。窗口中添加兩個(gè)

文本區(qū),當(dāng)我們?cè)谝粋€(gè)文本區(qū)中輸入若干個(gè)數(shù)時(shí),另

一個(gè)文本區(qū),同時(shí)對(duì)輸入的數(shù)進(jìn)行求和運(yùn)算并求出平

均值,也就是說(shuō)隨著輸入的變化,另一個(gè)文本區(qū)不斷

地更新求和及平均值。

答:importjava.awt.

importjava.awt.event.*;

importjava.util.*;

classCalculatedextendsFrameimplements

TextListener

(

TextAreatextl,text2;〃定義了2個(gè)文本區(qū)

Calculated(Strings)〃標(biāo)題為“計(jì)算的窗口”的窗

{

super(s);

setLayout(newFlowLayout());〃窗口布局為

FlowLayout

textl=newTextArea(5,23);

text2=newTextArea(5,23);

add(textl);

add(text2);

text2.setEditable(false);〃顯示求和結(jié)果和平均

值的文本區(qū)禁止編輯

textl.addTextListener(this);

addWindowListener(newWindowAdapter()

(

publicvoidwindowClosing(WindowEvente)

(

System,exit(0);

}

}

);

setBounds(100,100,400,160);

setVisible(true);

validate();

publicvoidtextValueChanged(TextEvente)

Strings=textl.getText();

StringTokenizergeshu=newStringTokenizer(s);

intn=geshu.countTokens();

doublea口二newdouble[n];

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

{

Stringtemp=geshu.nextTokenO;

doubledate=Double.parseDouble(temp);

a[i]=date;

)

doublesum=0,average;

for(inti=0;i〈n;i++)

{

sum=sum+a[i];

}

average=sum/n;

text2.setText(null);

text2.append(〃和:"+$11111+〃\11〃+〃平均

數(shù):,z+average);

publicclassTest

publicstaticvoidmain(Stringargs[])

(

Calculatedcalc=newCalculated(〃計(jì)算的窗口〃);

5.文本區(qū)可以使用getSelectedText()方法獲取該文

本區(qū)通過(guò)拖動(dòng)鼠標(biāo)選中的文件。編寫(xiě)應(yīng)用程序,有一

個(gè)標(biāo)題為“挑單詞”的窗口,窗口的布局為

BorderLayout布局。窗口中添加兩個(gè)文本去和一個(gè)按

鈕組

件,要求文本區(qū)分別添加到窗口的東部區(qū)域和西部區(qū)

域;按鈕添加到窗口的南部區(qū)域,當(dāng)單擊按鈕時(shí),程

序?qū)|部區(qū)域的文本區(qū)中鼠標(biāo)選中的內(nèi)容尾加到西部

區(qū)域的文本區(qū)中。

答:importjava.awt.

importjava.awt.event.*;

classWindowSelectedTextextendsFrame

implementsActionListener

TextAreatextl,text2;〃定義2個(gè)文本區(qū)

Buttonbutton;〃定義一個(gè)按鈕

WindowSelectedText(Strings)//窗口名字為"挑單

詞”

(

super(s);

setLayout(newBorderLayout());〃窗口布局是

BorderLayout布局

textl=newTextArea(6,15);

text2=newTextArea(6,15);

button=newButton(〃確定〃);

add(textl,BorderLayout.EAST);

add(text2,BorderLayout.WEST);

add(button,BorderLayout.SOUTH);

button.addActionListener(this);

addWindowListener(newWindowAdapter()

(

publicvoidwindowClosing(WindowEvente)

System,exit(0);

);

text2.setEditable(false);

setBounds(100,100,350,200);

setVisible(true);

validate();

}

publicvoidactionPerformed(ActionEvente)

(

if(e.getSource()-button)

(

Strings=textl.getSelectedText()+〃\n〃;

Stringstr=text2.getText();

text2.setText(str+s);

publicclassTest

(

publicstaticvoidmain(Stringargs[])

newWindowSelectedText(〃挑單詞〃);

6.編寫(xiě)一個(gè)應(yīng)用程序,有一個(gè)標(biāo)題為“計(jì)算”的窗口,

窗口的布局為FlowLayout布局。設(shè)計(jì)4個(gè)按鈕,分別命

名為“力口”、“差”、“積”、“除“,另外,窗口

中還有3個(gè)文本框。單擊相應(yīng)的按鈕,將兩個(gè)文本框的

數(shù)字做運(yùn)算,在第三個(gè)文本框中顯示結(jié)果。要求處理

NumberFormatExceptiono

答:importjava.awt.

importjava.awt.event.*;

classCalculatedextendsFrameimplements

ActionListener

(

TextFieldtextl,text2,text3;〃3個(gè)文本框

Buttonbuttonll,buttonC,buttonj,buttonS;〃4個(gè)按鈕

Calculated(Strings)

(

super(s);

setLayout(newF1owLayout());〃FlowLayout布局

textl=newTextField(10);

text2=newTextField(10);

text3=newTextField(17);

buttonH=newButton(“加”);

buttonC=newButton(“差”);

buttonj二newButton("積”);

buttons二newButton("除“);

add(text1);

add(text2);

add(text3);

text3.setEditable(false);

add(buttonH);

add(buttonC);

add(buttonj);

add(buttons);

buttonll.addActionListener(this);

buttonC.addActionListener(this);

buttonJ.addActionListener(this);

buttons.addActionListener(this);

addWindowListener(newWindowAdapter()

(

publicvoidwindowC1osing(WindowEvente)

(

System,exit(0);

}

)

);

setBounds(100,100,160,180);

setVisible(true);

validateO;

)

publicvoidactionPerformed(ActionEvente)

(

doublenum1=0,num2=0,totle=0;

try

(

numl=Double.parseDouble(text1.getText());

num2=Double.pai'seDouble(text2.getText());

if(e.getSource()==buttonH)

(

totle=numl+num2;

text3.setText("和"+totle);

)

elseif(e.getSource()-buttonC)

(

tot1e=numl-num2;

text3.setText(〃差"+totle);

}

elseif(e.getSource()==buttonj)

totle=numl*num2;

text3.setText("積"+totle);

}

elseif(e.getSource()-buttonS)

totle=numl/num2;

text3.setText("商"+totle);

)

}

catch(NumberFormatExceptionevent)

(

text3.setText("請(qǐng)輸入數(shù)字字符!〃);

}

)

}

publicclassTest

(

publicstaticvoidmain(Stringargs[])

(

Calculatedcalc二newCalculated("計(jì)算〃);//標(biāo)題為“計(jì)算”的窗口

)

}

7.改進(jìn)例子7.16,在程序中增加一個(gè)名稱(chēng)為“確定”的按鈕和一個(gè)文本區(qū)。當(dāng)單擊按鈕時(shí),程序驗(yàn)證用戶(hù)

是否輸入了合法的E-mail地址格式,如果合法就將用戶(hù)輸入的姓名、E-mail和職業(yè)尾加到文本區(qū)中,否則

在輸入E-mai1的文本框中提示用戶(hù)輸入了非法格式的E-mai1地址。

答:importjavax.swing.*;

importjavax.swing,border.

importjava.awt.*;

importjava.awt.event.

classWindowBoxextendsFrameimplementsActionListener

(

TextFieldtextl,text2,text3;

TextAreatextarea;

BoxbaseBox,boxVl,boxV2;

Buttonbutton;

WindowBox()

(

button=newButton("確定");

textarea=newTextArea(6,12);

textl=newTextField(12);

text2=newTextField(12);

text3=newTextField(12);

boxVl=Box.createVerticalBox();

boxVl.add(newLabel("姓名"));

boxVl.add(Box.createVerticalStrut(8));

boxVl.add(newLabel("email"));

boxVl.add(Box.createVerticalStrut(8));

boxVl.add(newLabel(“職業(yè)”));

boxV2=Box.createVerticalBoxO;

boxV2.add(textl);

boxV2.add(Box.createVerticalStrut(8));

boxV2.add(text2);

boxV2.add(Box.createVerticalStrut(8));

boxV2.add(text3);

baseBox=Box.createllorizontalBox();

baseBox.add(boxVl);

baseBox.add(Box.createllorizontalStrut(10));

baseBox.add(boxV2);

setLayout(newFrlowLayout());

add(baseBox);

add(button);

add(textarea);

addWindowListener(newWindowAdapter()

(

publicvoidwindowClosing(WindowEvente)

{

System,exit(0);

)

}

);

textarea.setEditable(false);

button.addActionListener(this);

setBounds(100,10(),210,250);

setVisible(true);

validate();

}

publicvoidactionPerformed(ActionEvente)

(

booleana;

intb;

Strings;

if(e.getSource()==button)

(

s=text2.getText();

a=s.endsWithC.com");

b=s.indexOf(〃@〃);

if(a&&b>0)

(

Stringstr1=text1.getText()+“\n'+text2.getText()+,,\n,,+text3.getText()+“\n”;

Stringstr2=textarea.getText();

textarea.setText(str2+strl);

else

{

text2.setText(“輸入了非法格式的E-mail地址〃);

)

)

}

)

publicclassTest

(

publicstaticvoidmain(Stringargs[])

(

newWindowBoxO;

}

}

8.寫(xiě)一個(gè)應(yīng)用程序,要求編寫(xiě)一個(gè)Panel的子類(lèi)MyPanel,MyPancl中有一個(gè)文本框和一個(gè)按鈕,要求MyPanel

的實(shí)例作為其按鈕的AclionEvenl事件的監(jiān)視器,當(dāng)單擊按鈕時(shí),程序獲取文本框中的文本,

并將該文本作為按鈕的名稱(chēng)。然后在編寫(xiě)一個(gè)Frame的子類(lèi),即窗口。窗口的布局為BorderLayoul布局。窗

口中添加兩個(gè)MyPanel面板,分別添加到窗口的東部區(qū)域和西部區(qū)域。

答:importjava.awt.*;

importjava.awt.event.*;

classMyPanelextendsPanelimplementsActionListener

(

Stringname;

TextFieldtext;

Buttonbutton;

MyPanel()

(

text=newTextField(lO);

button=newButton(“確定");

add(text);

add(button);

button.addActionlastener(this);

addWindowListener(newWindowAdapter()

(

publicvoidwindowClosing(WindowEvente)

System,exit(0);

);

publicvoidactionPerformed(ActionEvente)

(

if(e.getSource0-button)

(

name=text.getText();

button.setLabel(name);

)

}

)

classMyFrameextendsFrame

(

MyPanelpanel1,panel2;

MyFrame0

(

panell=newMyPanel0;

panel2=newMyPanel();

add(panel1,BorderLayout.EAST);

add(pane12,BorderLayout.WEST);

setBoundsdOO,100,400,100);

setVisible(true);

validate();

)

)

publicclassTest

(

publicstaticvoidmain(Stringargs[])

(

MyFramewin=newMyFrame0;

)

)

9.參照例子7.18編寫(xiě)一個(gè)應(yīng)用程序,要求有一個(gè)畫(huà)布,在畫(huà)布上繪制一個(gè)矩形,用戶(hù)通過(guò)文本框輸入矩形

的寬和高以及矩形左上角的位置坐標(biāo)。

答:importjava.awt.*;

importjava.awt.event.*;

classMycanvasextendsCanvas

(

intx,y,w,h;

Mycanvas()

setBackground(Color,cyan);

)

publicvoidsetX(intx)

(

this.x=x;

)

publicvoidsetY(inty)

(

this.y=y;

)

publicvoidsetW(intw)

(

this.w=w;

}

publicvoidsetli(inth)

(

this.h=h;

)

publicvoidpaint(Graphicsg)

(

g.drawRect(x,y,w,h);

)

)

classWindowCanvasextendsFrameimplementsActionListener

Mycanvascanvas;

TextFieldtextl,text2,text3,text4;

Buttonbutton;

WindowCanvas()

(

canvas=newMycanvas();

textl=newTextField(4);

text2=newTextField(4);

text3=newTextField(5);

text4=newTextField(5);

PanelpNorth=newPanel(),pSouth-newPanel();

button=newButton(“確定");

button.addActionUstener(this);

pNorth.add(newLabel("矩形的寬:”));

pNorth.add(text3);

pNorth.add(newLabel("矩形的高:”));

pNorth.add(text4);

pSouth.add(newLabel("左上角位置坐標(biāo):”));

pSouth.add(textl);

pSouth.add(text2);

pSouth.add(button);

addWindowListener(newWindowAdapter()

{

publicvoidwindowClosing(WindowEvente)

{

System,exit(0);

)

)

);

add(canvas,BorderLayout.CENTER);

add(pNorth,BorderLayout.NORTH);

add(pSouth,BorderLayout.SOUTH);

setBounds(100,100,500,500);

setVisible(true);

validate();

}

publicvoidactionPerformed(ActionEvente)

{

intx,y,w,h;

try

{

x=Integer.parselnt(textl.getText());

y=Integer.parselnt(text2.getText0);

w二Integer,parselnt(text3.getText());

h=Integer.parselnt(text4.getText());

canvas.setX(x);

canvas.setY(y);

canvas.setW(w);

canvas.setH(h);

canvas,repaint();

)

catch(NumberFormatExceptionee)

{

x=0;y=0;w=0;h=0;

)

publicclassTest

publicstaticvoidmain(Stringargs[])

{

newWindowCanvas0;

)

)

10.編寫(xiě)應(yīng)用程序,有一個(gè)窗口對(duì)象,該窗口取它的默認(rèn)布局:BorderLayoul布局,北面添加一個(gè)Lisi組件,

該組件有四個(gè)商品名稱(chēng)的選項(xiàng)。中心添加一個(gè)文本區(qū),當(dāng)選擇List組件中的某個(gè)選項(xiàng)后,文本區(qū)顯示對(duì)該

商品的價(jià)格和產(chǎn)地:當(dāng)雙擊Lisi組件中的某個(gè)選項(xiàng)后,文本區(qū)顯示該商品的詳細(xì)廣告。

答:importjava.awt.*:

importjava.awt.event.*;

classWindowGoodsextendsFrameimplementsActionListener,ItemListener

(

Strings[]={"產(chǎn)地:北京一產(chǎn)地:上海","產(chǎn)地:沈陽(yáng)〃,〃產(chǎn)地:廣東“};

Stringp□二{”價(jià)格:3200〃,”價(jià)格:158〃,〃價(jià)格:13.2","價(jià)格:320/打”};

Stringa[]={"本商品****","木商品*****","本商品******”,"木商品*******");

Listlist;

TextAreatext;

WindowGoods()

(

list=newList(3,false);

text=newTextArea(6,20);

text.setEdilable(false);

list,add(“商品1”);

list,add(〃商品2〃);

list.add(“商品3");

list.add("商品4”);

add(list,BorderLayout.NORTH);

add(text,BorderLayout.CENTER);

list.addltemListener(this);

1ist.addActionListener(this);

addWindowListener(newWindowAdapter()

{

publicvoidwindowClosing(WindowEvente)

(

System,exit(0);

)

)

);

setBounds(100,100,300,300);

setVisible(true);

validateO;

)

publicvoiditemStateChanged(ItemEvente)

(

if(e.getItemSelectable()=list.)

(

intm=list.getSelectedlndex();

text.setText(p[m]+'\n'+s[m]);

)

}

publicvoidactionPerformed(ActionEvente)

(

intn=list.get

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論