版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026四川大學(xué)華西醫(yī)院醫(yī)保真實(shí)世界研究與評(píng)價(jià)中心科研崗招聘2人考試參考試題及答案解析
- 2025-2026貴州九八五教育集團(tuán)教師招聘考試3人考試參考題庫(kù)及答案解析
- 2026年福建三明市建寧縣縣屬?lài)?guó)有企業(yè)招聘正式職工7人考試備考題庫(kù)及答案解析
- 2026天津中醫(yī)藥大學(xué)第二批招聘4人(博士輔導(dǎo)員)考試參考試題及答案解析
- 2026年安徽省選調(diào)生招錄700名筆試參考題庫(kù)及答案解析
- 2026東臺(tái)農(nóng)商銀行專(zhuān)場(chǎng)寒假實(shí)習(xí)招募80人考試參考試題及答案解析
- 2026河北保定雄安人才集團(tuán)誠(chéng)聘現(xiàn)場(chǎng)教學(xué)導(dǎo)師考試參考試題及答案解析
- 2026西北工業(yè)大學(xué)航空學(xué)院飛行器綜合設(shè)計(jì)數(shù)智化技術(shù)陜西省高等學(xué)校重點(diǎn)實(shí)驗(yàn)室招聘科研助理人員1人考試參考題庫(kù)及答案解析
- 2026浙江省數(shù)據(jù)局下屬事業(yè)單位招聘3人考試參考題庫(kù)及答案解析
- 2026廣東深圳福田區(qū)第一幼教集團(tuán)招聘考試備考題庫(kù)及答案解析
- DB6301∕T 4-2023 住宅物業(yè)星級(jí)服務(wù)規(guī)范
- 護(hù)理查房與病例討論區(qū)別
- 公司特殊貢獻(xiàn)獎(jiǎng)管理制度
- T/CA 105-2019手機(jī)殼套通用規(guī)范
- 2025-2031年中國(guó)汽車(chē)維修設(shè)備行業(yè)市場(chǎng)全景評(píng)估及產(chǎn)業(yè)前景研判報(bào)告
- 門(mén)窗拆除合同協(xié)議書(shū)范本
- GB/T 1040.1-2025塑料拉伸性能的測(cè)定第1部分:總則
- 重癥胰腺炎的中醫(yī)護(hù)理
- SL631水利水電工程單元工程施工質(zhì)量驗(yàn)收標(biāo)準(zhǔn)第3部分:地基處理與基礎(chǔ)工程
- 2024年高中語(yǔ)文選擇性必修上冊(cè)古詩(shī)文情境式默寫(xiě)(含答案)
- 中央2025年全國(guó)婦聯(lián)所屬在京事業(yè)單位招聘93人筆試歷年參考題庫(kù)附帶答案詳解-1
評(píng)論
0/150
提交評(píng)論