Java程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書(shū)(答案)_第1頁(yè)
Java程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書(shū)(答案)_第2頁(yè)
Java程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書(shū)(答案)_第3頁(yè)
Java程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書(shū)(答案)_第4頁(yè)
Java程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書(shū)(答案)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(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)介

第I部分:實(shí)驗(yàn)指導(dǎo)

實(shí)驗(yàn)1:Java開(kāi)發(fā)環(huán)境J2SE

一、實(shí)驗(yàn)?zāi)康?/p>

(I)學(xué)習(xí)從網(wǎng)絡(luò)上下載并安裝J2SE開(kāi)發(fā)工具。

(2)學(xué)習(xí)編寫(xiě)簡(jiǎn)單的JavaApplication程序.

(3)了解Java源代碼、字節(jié)碼文件,掌握J(rèn)ava程序的編輯、編譯和運(yùn)行過(guò)程.

二、實(shí)驗(yàn)任務(wù)

從網(wǎng)絡(luò)上下載或從CD-ROM直接安裝J2SE開(kāi)發(fā)工具,編寫(xiě)簡(jiǎn)單的JavaApplication程序,編譯并運(yùn)

行這個(gè)程序。

三、實(shí)驗(yàn)內(nèi)容

1.安裝J2SE開(kāi)發(fā)工具

Sun公司為所有的java程序員提供了一套免費(fèi)的java開(kāi)發(fā)和運(yùn)行環(huán)境,取名為Java2SDK,可以

從://java.sun上進(jìn)行下載。安裝的時(shí)候可以選擇安裝到任意的硬盤(pán)驅(qū)動(dòng)器上,例如安裝到

C:\j2sdkL4.l_03目錄下。教師通過(guò)大屏幕演示J2SE的安裝過(guò)程,以及在Windows98/2000/2003下環(huán)境變

量的設(shè)置方法。

2.安裝J2SE源代碼編輯工具EditPlus

教師通過(guò)大屏幕演示EdilPM的安裝過(guò)程,以及在Windows98/2000/2003操作系統(tǒng)環(huán)境下編輯Java

原程序的常用命令的用法。

3.編寫(xiě)并編譯、運(yùn)行一個(gè)JavaApplicalion程序。

創(chuàng)建3個(gè)名為HelloWorldApp的javaApplication程序,在屏幕上簡(jiǎn)單的顯示…句話"老師,你好!

publicclassHeiloWorldApp{

publicstaticvoidmain(Striig[]args){

System.oui.priniln("老師,你好!");

4.編譯并運(yùn)行下面的JavaApplication程序,寫(xiě)出運(yùn)行結(jié)果。

1:publicclassMyClass{

2:privateintday;

3:privateintmonth;

4:privateintyear;

5:publicMyClass(){

6:day=I;

7:month=1;

8:year=1900;

9:)

10:publicMyClass(intm,inty){

11:day=d;

12:month=m;

13:year=y;

14:}

15:publicvoiddisplay(){

16:Systcm.out.prin(h(day++month++year);

17:)

18:publicstaticvoidmair;(Stringargs[]){

19:MyClassml=newMyClass();

20:MyClassm2=newMyClass(25,12,2001);

21:ml.displayO;

22:m2.display();

23:)

24:}

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

1-1-1900

25-12-2001

實(shí)驗(yàn)2:Java基本數(shù)據(jù)類(lèi)型

一、實(shí)驗(yàn)?zāi)康?/p>

(1)掌握javadoc文檔化工具的使用方法。

(2)掌握J(rèn)ava語(yǔ)言轉(zhuǎn)義字符的功能。

(3)理解“值傳遞”的過(guò)程。

二、實(shí)驗(yàn)任務(wù)

(I)利用javadoc文檔化工具,將給定的JavaApplication源代碼自動(dòng)生成一系列說(shuō)明文檔。

(2)輸入、運(yùn)行給定的JavaApplication程序,寫(xiě)出運(yùn)行結(jié)果,以驗(yàn)證Java語(yǔ)言轉(zhuǎn)義字符的功能。

(3)按照要求編寫(xiě)JavaApplication程序。

三、實(shí)驗(yàn)內(nèi)容

1.Javadoc文檔化工具的使用

Java2SDK1.4.1中提供了?個(gè)文檔自幼生成工具,可以簡(jiǎn)化程序員編寫(xiě)文檔的工作。可以使用

javadoc.exe命令啟動(dòng)Java文檔化工具,自動(dòng)生成Java程序文檔。

輸入卜面給出的JavaApplication程序,利用javadoc命令生成該Java應(yīng)用程序的文檔,并使用瀏覽

器IE顯示生成的文檔頁(yè)面內(nèi)容。

1:/*Java編程技術(shù)ch叩ter3,CommentTest.java

2:版權(quán)所有:新東方IT教育。

3:zig

4:日期:2001/07/01

5:*/

6:/**

7:這是?個(gè)Java語(yǔ)言入門(mén)程序,定義類(lèi)CommentTesl。其中含有niain()方法,因此可以作為一

8:個(gè)應(yīng)用程序單獨(dú)執(zhí)行。其功能是在默認(rèn)的輸出設(shè)備上輸出字符串“Hi.你好!

9:*/

10:publicclassCommentTest{

11:〃主方法,作為Java應(yīng)用程序的默認(rèn)入口。

12:publicstaticvoidmain(Stringargs[]){

13:Syslem.out.println("Hi,你好!");〃輸出“Hi,你好!"

14:)

15:)

執(zhí)行javadocCommentTest.java指令,生成文件:

ComnientTest.htmlxpackage-frame.htmlxpackage-summary.hlml、package-tree.htmkconstant-values.htmlx

oveniew-tree.html、index-all.html、deprecated-list.htmlallclasses-frame.htmlallclasses-noframe.html、

index.htmkhelp-doc.html<>

2.輸入下面的JavaApplication程序,寫(xiě)出運(yùn)行結(jié)果。

1:publicclassCharSample{

2:publicstaticvoidmair.(Stringargsl]){

3:charch1='b';

4:charch2=V;

5:charch3=>\n';

6:charch4=V;

7:charch5=V;

8:charch6=V;

9:charch7=V;

10:System.out.println("沈陽(yáng)"+chl+"師范大學(xué)");

11:Sysiem.oui.prinUn("沈陽(yáng)”+ch2+”師范大學(xué))

12:System.out.println("沈陽(yáng)"+ch3+"師范大學(xué)");

13:System.out.println("沈陽(yáng)'+ch4+ch3+"師范大學(xué)");

14:Sysiem.out.prinlln(ch5+“沈陽(yáng)"+“師范大學(xué)”+ch5);

15:System.out.println(ch6+"沈陽(yáng)師范大學(xué)"+ch6);

16:System.out.println(ch7+“沈陽(yáng)"+“師范大學(xué)”+ch7);

17:}

18:}

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

沈師范大學(xué)

沈陽(yáng)師范大學(xué)

沈陽(yáng)

師范大學(xué)

沈陽(yáng)

師范大學(xué)

“沈陽(yáng)師范大學(xué)”

'沈陽(yáng)師范大學(xué)’

'沈陽(yáng)師范大學(xué)'

3.按下面的要求完成JavaApplication程序,寫(xiě)出程序的運(yùn)行結(jié)果。

(I)定義一個(gè)Java類(lèi)Poini,用來(lái)描述平面直角坐標(biāo)系中點(diǎn)的坐標(biāo),該類(lèi)應(yīng)該能描述點(diǎn)的橫、縱坐

標(biāo)信息及一些相關(guān)操作,包括獲取點(diǎn)的橫、縱坐標(biāo),修改點(diǎn)的坐標(biāo),顯示點(diǎn)的當(dāng)前位置等。

(2)定義一個(gè)測(cè)試類(lèi)javaTesi,創(chuàng)建Point類(lèi)的對(duì)象并對(duì)其進(jìn)行有關(guān)的操作。

classPoint!

doublex,y;

publicvoidsetXY(doublea.doubieb){

x=a;

y=b;

publicdoublegetX(){

returnx;

publicdoublegetY(){

returny;

publicvoiddisp(){

System.out.println("點(diǎn)的當(dāng)前坐標(biāo)為:("+x+","+y+")");

)

);

publicclassjavaTest{

publicstaticvoidmain(String[]args){

Poiiilpl—newPuinl();

pldispO;

pl.sctXY(3.2,5.6);

pl.dispO;

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

點(diǎn)的當(dāng)前坐標(biāo)為:(0.0,0.0)

點(diǎn)的當(dāng)前坐標(biāo)為:(3.2,5.6)

實(shí)驗(yàn)3:Java流程控制

一、實(shí)驗(yàn)?zāi)康?/p>

(I)掌握J(rèn)ava運(yùn)算符的用法.

(2)掌握表達(dá)式的使用和各種運(yùn)算符的優(yōu)先級(jí)控制。

(3)掌握結(jié)構(gòu)化程序設(shè)計(jì)的基本結(jié)構(gòu)。

二、實(shí)驗(yàn)任務(wù)

(I)輸入根據(jù)給定的JavaApplication程序,寫(xiě)出運(yùn)行結(jié)果,并說(shuō)明程序所完成的功能。

(2)按照要求編寫(xiě)JavaApplication程序。

三、實(shí)驗(yàn)內(nèi)容

1.輸入如下所示的JavaApplication程序,寫(xiě)出運(yùn)行結(jié)果,并說(shuō)明程序的功能。

1:importjava.io.*;

2:publicclassfindNurn{

3:publicstaticvoidmain(Stringargs(]){

4:Strings;

5:doubled;

6:inti;

7:booleanb=false;

8:do{

9:try{

10:Syslem.oul.priniln("請(qǐng)輸入一個(gè)浮點(diǎn)數(shù):");

11:BuffcredRcaderbr=newBuffcrcdRcadcr(ncwInputSlreamRcader(Systcm.in));

12:s=br.readLine();//以字符串方式讀入

13:i=s.indexOf('.');〃找到小數(shù)點(diǎn)的位置

14:d=Double.parseDouble(s);〃將字符串轉(zhuǎn)換成浮點(diǎn)數(shù)

15:System.out.println(d+"整數(shù)部分為:"+(long)d);

16:if(i==-l)〃若沒(méi)有小數(shù)點(diǎn),則沒(méi)有小數(shù)部分

17:System.out.println(d+"小數(shù)部分為:0.0");

18:else〃若有小數(shù)點(diǎn),則截取小數(shù)點(diǎn)后的字符串合成浮點(diǎn)數(shù)

19:System.out.println(d+”小數(shù)部分為:"+Double.parseDouble(((s.charAl(0)=='-')

:"")+"0."+s.substring(i+l,s.length())));

20:b=false;

21:}

22:catch(NumberFormatExcepiionnfe){

23:System.oui.println("輸入浮點(diǎn)數(shù)格式有誤。\n");

24:b=true;

25:)

26:catch(IOExceptionioe){

27:b=false;

28:}

29:}

30:while(b);〃浮點(diǎn)格式錯(cuò)誤時(shí)重新輸入

31:}//endofmain

32:}//endofclass

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

請(qǐng)輸入一個(gè)浮點(diǎn)數(shù):

abv

輸入浮點(diǎn)數(shù)格式有誤

請(qǐng)輸入一個(gè)浮點(diǎn)數(shù):

3.14

3.14的整數(shù)部分為:3

3.14的小數(shù)部分為:0.14

程序功能:通過(guò)IO類(lèi)從命令行讀入一個(gè)字符串,如果輸入的字符串為非數(shù)字字符串,則提示異常,要求

重新輸入。如果輸入的是一個(gè)沒(méi)有小數(shù)點(diǎn)的數(shù)字字符串(即整數(shù)類(lèi)型),則將其轉(zhuǎn)換為double型浮點(diǎn)數(shù),

最后完成將浮點(diǎn)數(shù)的小數(shù)位和整數(shù)位分別輸出。

2.編寫(xiě)一個(gè)JavaApplicalion程序,輸出區(qū)間[200,300]上的所有素?cái)?shù),要求寫(xiě)出程序

的運(yùn)行結(jié)果。

publicclassPrime{

publicstaticvoidmain(String[]args){

inti,j;

outer:

fdr(i=200;i<=300;i++){

ford=2;j<i-l;j++){

if(i%j==O)

continueouter;

)

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

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

211223227229239241251257263269271277281283293

實(shí)驗(yàn)4:Java類(lèi)與對(duì)象

一、實(shí)驗(yàn)?zāi)康?/p>

(I)掌握J(rèn)ava類(lèi)的繼承關(guān)系和派生方法。

(2)理解多態(tài)的概念與使用。

(3)掌握接口的定義和使用。

二、實(shí)驗(yàn)任務(wù)

(I)按要求編寫(xiě)一個(gè)Java程序。

(2)按要求完善一個(gè)Java程序,編譯、運(yùn)行這個(gè)程序,并寫(xiě)出運(yùn)行結(jié)果。

三、實(shí)驗(yàn)內(nèi)容

1,編寫(xiě)一個(gè)Java程序片斷,以定義一個(gè)表示學(xué)生的類(lèi)Student。這個(gè)類(lèi)的屬性有“學(xué)號(hào)”、

“班號(hào)”、“姓名”、“性別”、“年齡”,方法有“獲得學(xué)號(hào)”、“獲得班號(hào)”、“獲得性別”、“獲

得姓名”、“獲得年齡”、“獲得年齡”。

2.為類(lèi)Student增加一個(gè)方法publicStringtoString(),該方法把Student類(lèi)的對(duì)象的所

有屬性信息組合成一個(gè)字符串以便輸出顯示。編寫(xiě)一個(gè)JavaApplicalion程序,創(chuàng)建Studenl

類(lèi)的對(duì)象,并驗(yàn)證新增加的功能。

classStudent(

privatelongstudcncID:

privateintclassID;

privateStringname;

privateStringsex;

privateintage;

publicStudent(iongstudentID,intclassID,Stringname,Stringsex,intage){

this.studentID=studeniID;

this.classID=classID;

=name;

(his.sex=sex;

this.age=age;

)

publiclonggetStudentID()|

returnstudentID;

)

publicintgc(ClassID(){

returnclassID;

)

publicStringgc(Name(){

returnname;

publicSiringgetSex(){

returnsex;

publicintgetAge(){

returnage;

)

publicStringtoString(){

return"學(xué)號(hào):"+getSiudentID()+"\n班號(hào):"+geiClassID()+”\n姓名:"+geiName()+"\n性別:

"+gc(Scx()+"\n年齡:"getAgM);

}

)

publicclassStuden(Dcmo{

publicstaticvoidmain(String[]args){

Studentsl=newStudent(90221,2;'Tom',;,male';20);

Systcm.ou(.println(s1.loStringO);

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

學(xué)號(hào):90221

班號(hào):2

姓名:Tom

性別:male

年齡:如

實(shí)驗(yàn)5:Java繼承與多態(tài)

一、實(shí)驗(yàn)?zāi)康?/p>

(I)掌握J(rèn)ava類(lèi)的定義和使用方法。

(2)掌握對(duì)象的聲明和使用。

(3)構(gòu)造函數(shù)的概念和使用。

(4)掌握類(lèi)及其成員的訪問(wèn)控制符的使用。

(5)掌握包的概念和使用。

二、實(shí)驗(yàn)任務(wù)

(1)輸入根據(jù)給定的JavaApplication程序,寫(xiě)出運(yùn)行結(jié)果。

(2)按照要求編寫(xiě)JavaApplication程序。

三、實(shí)驗(yàn)內(nèi)容

I.閱讀如下所示的3個(gè)Java類(lèi)的定義,分析它們之間的關(guān)系,寫(xiě)出運(yùn)行結(jié)果。

1:classSuperClass{

2:intx;

3:SuperClass(){

4:x=3;

5:System.out.printh("inSuperClass:x="+x);

6:)

7:voiddoSoniethingO{

8:System.out.println("inSuperClass.doSomcthingO");

9:)

H:}

1:classSubClassextendsSuperClass{

2:intx;

3:SubCIass(){

4:supcr();〃調(diào)用父類(lèi)的構(gòu)造方法

5:x=5;〃super()要放在方法中的第一句

6:System.out.println("inSubClass:x="+x);

7:)

8:voiddoSomcthing(){

9:super.doSomething();〃調(diào)用父類(lèi)的方法

10:System.out.printh("iiiSubClass.doSomethingO");

11:Sys(cm.out.printh("supcr.x="+supcr.x+"sub.x="+x);

12:)

14:}

1:publicclassInheritance{

2:publicstaticvoidmair.(S(ringargs[]){

3:SubClasssubC=newSubClassO;

4:subC.doSomethir.gO;

5:)

6:)

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

inSuperClass:x=3

inSubClass:x=5

inSuperClass.doSomethingO

inSubClass.doSomethingO

super.x=3sub.x=5

2.假定根據(jù)學(xué)生的3門(mén)學(xué)位課程的分?jǐn)?shù)決定其是否可以拿到學(xué)位,對(duì)于本科生,如果

3門(mén)課程的平均分?jǐn)?shù)超過(guò)60分即表示通過(guò),而對(duì)于研究生,則需要平均超過(guò)80分才能夠通

過(guò)。根據(jù)上述要求,請(qǐng)完成以下Java類(lèi)的設(shè)計(jì):

(I)設(shè)計(jì)一個(gè)基類(lèi)Siudeni描述學(xué)生的共同特征。

(2)設(shè)■一個(gè)描述本科生的類(lèi)Undergraduate.該類(lèi)繼承并擴(kuò)展Student類(lèi)。

(3)設(shè)計(jì)一個(gè)描述研究牛.的類(lèi)Graduate,該類(lèi)繼承并擴(kuò)展Student類(lèi)。

(4)設(shè)計(jì)一個(gè)測(cè)試類(lèi)SludcniDcmo,分別創(chuàng)建本科生和研究生這兩個(gè)類(lèi)的對(duì)象,并輸出相關(guān)信息。

classStudent{

privateStringname;

privateiniclassA.classB.classC;

publicStudent(Stringname,intclassA,intclassB.intclassC){

(=nanic;

this.cIassA=classA;

this.classB=classB;

ihis.classC=classC;

)

publicStringgetName(){

returnname:

)

publicintgetAverage(){

rciurn(classA+classB4-classC)/3;

)

)

classUnderGraduateextendsStudent{

publicUnderGraduate(Stringname,intclassA.iniclassB.intclassC){

super(name,classA,classB,classC);

publicvoidisPass(){

if(getAvcragc()>=60)

System.out.printh("本科生"+getName()+”的三科平均分為:"+getAverage()+”,可以拿到學(xué)

士學(xué)位。");

else

System.out.printh("本科生"+getName()+”的三科平均分為:"+getAverage()+”,不能拿到學(xué)

士學(xué)位?!?;

)

)

classGraduateextendsStudent{

publicGraduatc(StringnamejntclassA.iniclassB.iniclassC){

supci(name,cliissA,classB.classC),

}

publicvoidisPass(){

if(getAverage()>=80)

System.oul.printlM"研究生"+getName()+"的三科平均分為:"+getAverage()+",可以拿到碩

士學(xué)位?!?;

else

System.oul.printlM"研究生"+getName()+"的三科平均分為:"+getAverage()+",不能拿到碩

土學(xué)位?!?;

)

}

publicclassStudentDeino{

publicstaticvoidmain(String[]args){

UnderGraduatesI=newUnderGraduate("Tom",55,75,81);

Graduates2=newGra(iuate("Marj,".72.81,68);

sl.isPass();

s2.isPass();

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

本科生Tom的三科平均分為:70,可以拿到學(xué)士學(xué)位。

研究生Mary的三科平均分為:73,不能拿到碩士學(xué)位。

假定要為某個(gè)公司編寫(xiě)雇員工資支付程序,這個(gè)公司有各種類(lèi)型的雇員(Employee),

不同類(lèi)型的雇員按不同的方式支付工資:

(1)經(jīng)理(Manager)—每月獲得一份固定的工資

(2)銷(xiāo)售人員(Salesman)—在基本工資的基礎(chǔ)上每月還有銷(xiāo)售提成。

(3)一般工人(Worker)—?jiǎng)t按他每月工作的天數(shù)計(jì)算工資。

根據(jù)上述要求試用類(lèi)的繼承卻相關(guān)機(jī)制描述這些功能,并編寫(xiě)一個(gè)JavaApplication程序,

演示這些類(lèi)的用法。(提示:應(yīng)設(shè)計(jì)一個(gè)雇員類(lèi)(Employee)描述所有雇員的共圖特性,這

個(gè)類(lèi)應(yīng)該提供一個(gè)計(jì)算工資的抽象方法ComputeSalary(),使得可以通過(guò)這個(gè)類(lèi)計(jì)算所有雇

員的工資。經(jīng)理、銷(xiāo)售人員和一般工人對(duì)應(yīng)的類(lèi)都應(yīng)該繼承這個(gè)類(lèi),并重新定義計(jì)算工資的

方法,進(jìn)而給出它的具體實(shí)現(xiàn)。)

abstractclassEmployee(

privateStringname;

publicEniployee(Stringname){

=name;

)

publicStringgetName(){

returnname;

}

publicabstractdoublecomputeSalary();

)

classManagerextendsEmployee(

privatedoublemonthSalary;

publicManager(Slringname.doublemonthSaIary){

super(name);

this.monthSalary=monthSalary;

)

publicdoublecomputeSalary(){

returnmonthSalarjs

)

)

classSalesmanextendsEmployee(

privatedoublebaseSalary;

privatedoublecommision;

privateintqualtitics;

publicSalesman(Stringname.doublebaseSalary.doublecommision.iniqualities){

super(name);

this.baseSalarj,=baseSalar>,;

thismision=commision;

this.qualtities=qualtities;

publicdoublecomputeSalary(){

returnbaseSalarj^commision*qualtities;

)

)

classWorkerextendsEmployee(

privatedoubledailySalary;

privateintdays;

publicWorker(Stringname,doubledailySalary,intdays){

supcr(namc);

llii^.diiilySalaiy-dailySaliuy,

this.days=days;

)

publicdoublecomputeSalary(){

returndailySalary*days;

)

)

publicclassEmployeeDemo{

publicstaticvoidmain(Siringargs[]){

Managere1=newManager("張三”,1()000);

Salesmane2=newSalesman("李四”,2(M)0,50.4,63);

Workere3=newWorker("王五",79.5,28);

System.ouLprinUn("經(jīng)理"+el.getName()+"的月工資為:"+e1puteSalaryO);

System.out.println("銷(xiāo)售人員"+e2.getName()+"的月工資為:"+e2puteSalaryO);

Systcm.out.prinlln("工人"+c3.gctNamc()+”的月工資為:"+c3putcSalaryO);

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

經(jīng)理張三的月工資為:10000.0

銷(xiāo)售人員李四的月工資為:5175.2

工人王五的月工資為:2226.0

實(shí)驗(yàn)6:Java控制臺(tái)程序設(shè)計(jì)

一、實(shí)驗(yàn)?zāi)康?/p>

(I)掌握J(rèn)ava命令行參數(shù)的讀用方法。

(2)掌握J(rèn)ava程序與文件之間的基本輸入輸出操作

二、實(shí)驗(yàn)任務(wù)

(I)輸入根據(jù)給定的JavaApplication程序,寫(xiě)出運(yùn)行結(jié)果。

(2)編寫(xiě)JavaApplication程序,實(shí)現(xiàn)文件輸入功能。

(3)編寫(xiě)JavaApplication程序,實(shí)現(xiàn)文件輸出功能。

三、實(shí)驗(yàn)內(nèi)容

1.輸入如下所示的JavaApplication程序,用文字簡(jiǎn)述運(yùn)行結(jié)果。

I:importjava.util.Properties;

2:importjava.util.Enumcraticn;

3:publicclassTestp{

4:publicstaticvoidniair.(String[]args){

5:Propertiesps=Systcm.gctPropcrticsO;

6:Enumerationpn=pertyNames();

7:while(pn.hasMoreElements()){

8:StringpNaire=(Siring)pn.nexlEIcmcnt();

9:StringpValue=ps.getProperty(pName);

10:System.out.println(pName+"+pValue);

II:}

12:)

13:}

2.編寫(xiě)一個(gè)JavaApplicalion程序,實(shí)現(xiàn)讀取并輸出指定文件的內(nèi)容的功能。

importjava.io.*;

publicclassRcadFile{

publicstaticvoidmain(String[]args)throwsIOException{

BufferedReaderbr=newBufferedReader(newFileReader("ReadFile.java"));

Strings=br.rcadLinc();

while(s!=null){

System.out.printh(s);

s=br.rcadLinc();

)

br.close();

3.編寫(xiě)一個(gè)JavaApplication程序,實(shí)現(xiàn)接收鍵盤(pán)輸入的數(shù)據(jù),并寫(xiě)入到指定文件中的

功能。

importjava.io.*;

publicclassWriteFile2{

publicstaticvoidmain(StringUargs)throwsI()Exception{

BufferedReaderbr=ncwBuffcrcdRcadcr(newInputStrcaniRcadcr(Systcm.in));

BufferedWriterbw=newBufferedWriter(newFileWrilerCtt.txt"));

Strings=br.readLine();

whilc(!s.cquals("cxit")){

bw.write(s);

bw.newLine();

s=br.rcadLinc();

)

br.close();

bw.closc();

實(shí)驗(yàn)7:數(shù)組與字符串

一、實(shí)驗(yàn)?zāi)康?/p>

(I)掌握利用Math類(lèi)實(shí)現(xiàn)基本數(shù)學(xué)運(yùn)算的方法。

(2)掌握數(shù)組與字符串概念與使用。

二、實(shí)驗(yàn)任務(wù)

(I)輸入根據(jù)給定的JavaApplication程序,寫(xiě)出運(yùn)行結(jié)果。

(2)按照要求編寫(xiě)JavaApplication程序。

三、實(shí)驗(yàn)內(nèi)容

1.輸入下面的JavaApplication程序,寫(xiě)出運(yùn)行結(jié)果,并說(shuō)明程序的功能。

1:publicclasstestMath{

2:publicstaticvoidniaii.(Stiingargs[J){

3:finalintNUMBER=100;

4:intcount=10;

5:intrandomNum=0;

6:intprobability[]=newint[6J;

7:for(in(i=0;i<6;i++){

8:probability[i]=0;

9:)

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

11:randomNum=(int)(Math.random()*6)+1;

12:probability[randomNum-l]++;

13:System.out.print(randomNum+

14:if(i%counl==9)

15:Systeni.out.println();

16:}

17:for(inti=0;i<6;i++){

18:System.out.println("\n"+(i+1)+":\t"+probability(ij);

19:!

20:)

21:)

2.編寫(xiě)一個(gè)JavaApplication程序,實(shí)現(xiàn)如下的設(shè)計(jì)目標(biāo):程序運(yùn)行時(shí)自動(dòng)產(chǎn)生1~100

的隨機(jī)數(shù),接收用戶(hù)鍵盤(pán)輸入數(shù)據(jù)并給出提示信息,直至猜對(duì)。游戲者猜對(duì)后,顯示猜測(cè)次

數(shù),并提供“重新開(kāi)始”和“退出”功能。

實(shí)驗(yàn)8:Java高級(jí)I/O流程序設(shè)計(jì)

一、實(shí)驗(yàn)?zāi)康?/p>

(I)掌握J(rèn)avaI/O基本原理。

(2)掌握InputStream、OutputSiream抽象類(lèi)的基本使用方法。

(3)掌握FilelnputStreanKFileOutputStream>DatalnputStreanisDataOutputStream抽象類(lèi)的基本使

用力法。

二、實(shí)驗(yàn)任務(wù)

(I)閱讀給定的JavaApplication程序,按要求回答問(wèn)題并寫(xiě)出運(yùn)行結(jié)果。

(2)按要求編寫(xiě)一個(gè)JavaApplication程序,并編譯、運(yùn)行這個(gè)程序。

三、實(shí)驗(yàn)內(nèi)容

1-輸入下面的JavaApplication程序,運(yùn)行該程序,說(shuō)明程序的功能。

1:importjava.io.*;

2:publicclassCopyFilc{

3:publicstaticvoidmair(String[]args){

4:try{

5:FilcInputStrcamfis=newFilcInputStrcam("CopyFile.java");

6:FileOiilputSireamfbs=newFileOiitpiilStreamCtemp.txt");

7:intread=fis.read();

8:while(read!=-1){

9:fos.wrile(read):

10:read=tls.read();

11:}

12:fis.close();

13:fos.close();

14:}

15:catch(lOExceptione){

16:System.out.println(e);

17:)

18:)

19:}

其功能是完成文件的復(fù)制:通過(guò)字節(jié)流從“copyFile.java”文件中讀取數(shù)據(jù)并寫(xiě)入到“temp.txt”文

件中去,實(shí)現(xiàn)copy功能。

2.編寫(xiě)一個(gè)JavaApplication程序,實(shí)現(xiàn)如下的設(shè)計(jì)功能:運(yùn)行該程序可以列出當(dāng)前目

錄下的文件。

importjava.io.*;

publicclassFiIcList2{

publicstaticvoidmain(String[]args){

Filedir=newFile(".");

Filefiles[]=dir.listFiIes();

System.out.println(diri;

for(inti=O;i<files.length;i++){

if(files[i].isFile())

System.out.printIn("\t"+files[i].getName());

else

Systcm.out.println("<DIR>\t"+filcs[i].gctNamc());

)

)

)

實(shí)驗(yàn)9:JavaGUI程序設(shè)計(jì)⑴

一、實(shí)驗(yàn)?zāi)康?/p>

(I)了解Java系統(tǒng)圖形用戶(hù)界面的工作原理和界面設(shè)計(jì)步驟。

(2)掌握?qǐng)D形用戶(hù)界面的各種常用組件的使用方法。

(3)掌握?qǐng)D形用戶(hù)界面各種布局策略的設(shè)計(jì)與使用。

二、實(shí)驗(yàn)任務(wù)

(I)閱讀給定的JavaApplica:ion程序,按要求回答問(wèn)題并寫(xiě)出運(yùn)行結(jié)果。

(2)按要求編寫(xiě)一個(gè)JavaApplication程序,并編譯、運(yùn)行這個(gè)程序。

三、實(shí)驗(yàn)內(nèi)容

1.輸入下面的JavaApplication程序,運(yùn)行該程序,說(shuō)明程序的功能。

1:importjava.awt.*;

2:publicclassTestFlowLayout{

3:publicstaticvoidmair(Stiingargs[]){

4:Framef=newFrame("FlowLayout");

5:Buttonbutton1=newButton("確定");

6:Buttonbutton2=newBinion("打,開(kāi))

7:Buttonbutton3=newButlon("關(guān)閉");

8:Buttonbutton4=newButton("取消");

9:f.setLayout(newFlowLayoutO);

10:f.add(button1);

11:f.add(button2);

12:f.add(button3);

13:f.add(button4);

14:f.setSize(lOOJOO);

15:f.setVisible(true);

16:)

17:}

FlowLayout

[闡打開(kāi)|關(guān)閉|歲

顯示一個(gè)100*100的窗口,窗口內(nèi)添加了四個(gè)按鈕,其布局為流式布局管理器。當(dāng)窗口£的尺寸被重

置后,其FlowLayoul型的布局也會(huì)隨之發(fā)生變化,各按鈕的大小不變,但其相對(duì)位置會(huì)變化。

2.編寫(xiě)一個(gè)JavaApplication程序,該程序運(yùn)行的運(yùn)行結(jié)果如下所示。

importjava.awi.*;

publicclassBorderLayoutWindowextendsFrame{

publicBorderLayoutWindow(){

setLayout(newBorderLayoutO);

add(newButton("BN"),"North");

add(newButton("BS"),"South");

add(newButton("BE'),"East");

add(new

add(newButton("BC"),"Center");

)

publicstaticvoidmain(Stringargs[]){

BorderLayoutWindowwindow=newBorderLayoutWindjw();

window.setTitle("BorcerWindowApplication");

window.pack();

window.setVisible(true);

3.編寫(xiě)一個(gè)JavaApplication程序,該程序運(yùn)行的運(yùn)行結(jié)果如下所示。

importjava.awt.*;

publicclassGridLayoulWindowextendsFrame{

publicGridLayoutWindowi){

setLayout(newGridLayout(3,2));

add(ncwButton("br'));

add(newButton("b2"));

add(newButton("b3"));

add(newButton("b4"));

addtncwButton("b5")):

add(newBulton("b6"));

publicstaticvoidmain(Stringargs[]){

GridLayoutWindowwindow=newGiidLayoutWindow();

window.setTitle("GridWindowApplication");

window.pack();

window.setVisible(true);

實(shí)驗(yàn)10:JavaGUI程序設(shè)計(jì)⑵

一、實(shí)驗(yàn)?zāi)康?/p>

(I)了解圖形用戶(hù)界面的事件響應(yīng)機(jī)制。

(2)掌握鼠標(biāo)事件編程方法。

(3)掌握AWT中Color和Font類(lèi)的使用方法。

二、實(shí)驗(yàn)任務(wù)

(1)閱讀給定的JavaApplication程序,按要求回答問(wèn)題并寫(xiě)出運(yùn)行結(jié)果。

(2)按要求編寫(xiě)一個(gè)JavaApplicaiion程序,并編譯、運(yùn)行這個(gè)程序。

三、實(shí)驗(yàn)內(nèi)容

1.輸入下面的JavaApplication程序,運(yùn)行該程序,說(shuō)明程序的執(zhí)行過(guò)程。

1:importjava.awt.*;

2:importjava.awt.event.*;

3:publicclassTestActionEvcnt{

4:publicstaticvoidmair(Stringargsf]){

5:Framef=newFrame("Test");

6:Buttonb=newBu(ton("PressMe!");

7:Monitorbh=newMonitor();

8:b.addActionListener(bh);

9:f.add(b,BorderLayoui.CENTER);

10:f.pack();

11:f.setVisible(true);

12:)

13:!

1:classMonitorimplementsActionListener{

2:publicvoidactionPerformed(ActionEvente){

3:Systcm.out.printh("abuttonhasbeenpressed");

4:1

5:)

執(zhí)行過(guò)程:創(chuàng)建一個(gè)框架f,其標(biāo)題為T(mén)est。在框架中添加了一個(gè)標(biāo)簽為“PressMe”的按鈕b。為按鈕b

注冊(cè)監(jiān)聽(tīng)器bh,監(jiān)聽(tīng)AciionEveni事件。當(dāng)鼠標(biāo)單擊框架中的按鈕b時(shí),會(huì)觸發(fā)AciionEvenl事件?,執(zhí)行

事件處理器actionPerformed(ActionEvente),即在屏幕上輸出文本信息“abuttonhasbeenpressed

2.編寫(xiě)一個(gè)JavaApplication程序,該程序運(yùn)行的運(yùn)行結(jié)果如下所示。

importjava.awt.*;

publicclassMenuTcst!

publicstaticvoidmain(Siringargs[1){

Framefr=newFrameC'Menu");

MenuBarmb=newMenuBar();

fr.setMenuBaiXmb);

Menuml=newMenufFile");

Menum2=newMenu("Edit");

Menum3=newMenuf'Help");

inb.add(iiil);

inb.add(m2);

mb.setHelpMenu(m3);

Menuitemin11=newMenuitem("New");

Menuitemml2=newMenuItem(MSave");

Menultemml3=newMenuItem("Load");

Menuitemni14=newMenuItemC'Quit");

m1.add(m11);

ml.add(ml2);

ml.add(ml3);

m1.addScparator();

ml.add(m!4);

fr.pack();

fr.setVisible(truc);

3.編寫(xiě)一個(gè)JavaApplication程序,該程序運(yùn)行的運(yùn)行結(jié)果如下所示。

importjava.awt.*;

publicclassMenuTest{

publicstaticvoidmain(Stringargs[]){

Framefr=ncwFramc("Mcnu");

MenuBarmb=newMenuBar();

fr.setMenuBar(mb);

Menurnl=ncwMcnuCFilc',);

Menum2=newMenu("Format");

Menum3=newMenufHelp");

Menum4=ncwMenu("進(jìn)制)

iiib.add(ini),

mb.add(ni2);

mb.sc(HclpMcnu(m3);

Menultemm21=newMenuitem("中文”);

Menuitemm41=newMenuitem("二進(jìn)制”);

Menuitemm42=newMenul〔em("八進(jìn)制)

Menultemm43=newMenuitem("十進(jìn)制");

m2.add(ni21);

m2.add(m4);

m4.add(m41);

m4.add(m42);

m4.add(m43);

fr.pack();

fr.setVisible(true);

實(shí)驗(yàn)11:Java多線程

一、實(shí)驗(yàn)?zāi)康?/p>

(I)了解線程的概念。

(2)學(xué)習(xí)簡(jiǎn)單的多線程編程。

二、實(shí)驗(yàn)任務(wù)

(I)閱讀給定的JavaApplica;ion程序,按要求回答問(wèn)題并寫(xiě)出運(yùn)行結(jié)果。

(2)按要求編寫(xiě)一個(gè)JavaApplication程序,并編譯、運(yùn)行這個(gè)程序。

三、實(shí)驗(yàn)內(nèi)容

1.輸入下面的JavaApplicalion程序,運(yùn)行該程序,并簡(jiǎn)要分析程序的運(yùn)行結(jié)果。

1:classSinipleThreadextendsThread{

2:publicSiinplcThread(Stiingsti){

3:

溫馨提示

  • 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)論