java實(shí)驗(yàn)報(bào)告匯總_第1頁
java實(shí)驗(yàn)報(bào)告匯總_第2頁
java實(shí)驗(yàn)報(bào)告匯總_第3頁
java實(shí)驗(yàn)報(bào)告匯總_第4頁
java實(shí)驗(yàn)報(bào)告匯總_第5頁
已閱讀5頁,還剩126頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

“Hello,World!”具。{{}}文件保存到第一步所建的目錄中(即D:\你的學(xué)號(hào))。}}實(shí)驗(yàn)體會(huì)(簡(jiǎn)述實(shí)驗(yàn)中所遇到的問題及解決方法):合適的表達(dá)式描述問題。在程序設(shè)計(jì)中用循環(huán)的方法實(shí)現(xiàn)各種算法。3.1分支控制結(jié)構(gòu)轉(zhuǎn)換后的輸出結(jié)果0~59不及格60~69及格70~79中80~89良90~100優(yōu)錯(cuò)誤{{}}epublicclassEx6{publicstaticvoidmain(Stringargs[]){inti;intscore[]={0,59,60,79,80,99,105};for(i=0;i<7;i++){if(score[i]==100)System.out.println("優(yōu)");if(score[i]==0)System.out.println("不及格");if(score[i]>100||score[i]<0)System.out.println("錯(cuò)誤");switch(score[i]/10){case1:case2:case3:case4:case5:System.out.println("不及格");break;case6:System.out.println("及格");break;case7:System.out.println("中");break;case8:System.out.println("良");break;case9:System.out.println("優(yōu)");break;}}}}{{{}inti=0;}}publicclassEx6{publicstaticvoidmain(Stringargs[]){intscore[]={60,76,90,48,80};intsum=0;intmax=0;inti=0;while(i<5){sum+=score[i];if(score[i]>max)max=score[i];i++;}doubleaverage=(double)sum/5;System.out.println("Average="+average);System.out.println("Max="+max);}}publicclassEx6{publicstaticvoidmain(Stringargs[]){intscore[]={60,76,90,48,80};intsum=0;intmax=0;do{sum+=score[i];if(score[i]>max)max=score[i];i++;}while(i<5);doubleaverage=(double)sum/5;System.out.println("Average="+average);System.out.println("Max="+max);}}publicclassEx6{publicstaticvoidmain(Stringargs[]){intscore[]={60,76,90,48,80};intsum=0;intmax=0;inti=0,t;do{sum+=score[i];if(score[i]>max)max=score[i];i++;}while(i<5);for(intj=0;j<4;j++)for(i=0;i<4-j;i++)if(score[i]>score[i+1]){t=score[i];score[i]=score[i+1];score[i+1]=t;}for(i=0;i<5;i++){System.out.println(score[i]);}doubleaverage=(double)sum/5;System.out.println("Average="+average);System.out.println("Max="+max);}}變量、類的方法。2.掌握對(duì)象的創(chuàng)建、對(duì)象屬性的引用和方法的調(diào)用。員的訪問權(quán)限。4.掌握如何定義和使用構(gòu)造方法。方法的重載。實(shí)驗(yàn)內(nèi)容及結(jié)果:3.1簡(jiǎn)單類}Systemoutprintln("學(xué)號(hào)"+"\t"+"姓名"+"\t"+"年齡"+"\t"+"性別");?"男":"女"));}}}}}}}}}}}Systemoutprintln("學(xué)號(hào)"+"\t"+"姓名"+"\t"+"年齡"+"\t"+"性別");}}3.2類的構(gòu)造1.定義一個(gè)點(diǎn)(Point)類,它包含橫坐標(biāo)x和縱坐標(biāo)y兩個(gè)屬性,再給2.定義一個(gè)圓(Circle)類,它包含圓心(Center)和半徑(Radius)兩個(gè)}{}}}}}rcle}}}}System.out.println("**************************************");System.out.println("**************************************");}}}}義circle()的方法1.定義一個(gè)點(diǎn)(Point)類,它包含橫坐標(biāo)x和縱坐標(biāo)y兩個(gè)屬性,再給Point定義兩個(gè)構(gòu)造方法和一個(gè)打印點(diǎn)坐標(biāo)的方法(Show())。,還有屬性半徑(Radius),再給圓定義2個(gè)構(gòu)造方法、一個(gè)打印圓的面積的方法(PrintArea())和一個(gè)打印圓中心、半徑的方法(Show())。3.在記事本編輯如下源程序:classPoint{protectedintx;protectedinty;Point(){}{}}}}}}}}System.out.println("**************************************");System.out.println("**************************************");}}}}}s法的調(diào)用過程。實(shí)驗(yàn)四、類的繼承[實(shí)驗(yàn)?zāi)康腯理解繼承的含義、掌握方法的覆蓋及super關(guān)鍵字的用法、理解繼承層次中類的構(gòu)造方法的定義方式及調(diào)用規(guī)則。[問題描述]編程定義一個(gè)點(diǎn)類Point,一個(gè)球類Ball,再定義一個(gè)運(yùn)動(dòng)的球類MovingBall,該類繼承自Ball,編寫測(cè)試類在main方法中創(chuàng)建相應(yīng)對(duì)象,并調(diào)用方法進(jìn)行測(cè)試。[實(shí)驗(yàn)思路]子類中是否需要改寫方法以及添加新的屬性及方法。此外,該問題中,球類可以設(shè)置一個(gè)Point類型的對(duì)象成員變量來表示球的中心點(diǎn)。[關(guān)鍵步驟]義相應(yīng)的構(gòu)造方法及方法,主要代碼如下所示:}g}}方式表示”此對(duì)象的字符串,結(jié)果應(yīng)該簡(jiǎn)明易讀。(2)定義類Ball,該類的屬性包括中心點(diǎn)、半徑、顏色,主要定義如下:}r}g}}……//代碼省略}g}}}}(5)運(yùn)行程序,得到相應(yīng)的實(shí)驗(yàn)結(jié)果,示例結(jié)果如圖4-3所示。實(shí)驗(yàn)2.三角形類的定義[實(shí)驗(yàn)?zāi)康腯掌握類的定義及對(duì)象的使用。[問題描述]計(jì)算三角形的面積和周長(zhǎng),有關(guān)要求如下:(1)先設(shè)計(jì)一個(gè)Point類,包括其構(gòu)造方法、設(shè)置和修改坐標(biāo)、求解兩點(diǎn)距離等方法。(2)再使用Point類,設(shè)計(jì)一個(gè)三角形(Triangle)類,包括構(gòu)造方法、求解三角形面積[實(shí)驗(yàn)思路]的三個(gè)點(diǎn)來確定,所以Triangle類可以設(shè)置三個(gè)Point類型的數(shù)據(jù)成員,即Triangle類有三[關(guān)鍵步驟](1)定義Point類。主要代碼如下,方法的具體實(shí)現(xiàn)請(qǐng)讀者自己完成。classPoint{privateintx;privateinty;publicPoint(intx1,inty1){……//代碼省略}doubledist(Pointp){//求兩點(diǎn)間的直線距離……}publicintgetX(){returnx;}publicintgetY(){returny;}}classTriangle{Pointp1,p2,p3;publicTriangle(Pointp1,Pointp2,Pointp3){this.p1=p1;this.p2=p2;this.p3=p3;}doublearea(){doublea=p1.dist(p2);doubleb=p2.dist(p3);doublec=p1.dist(p3);doubles=(a+b+c)/2;doublearea1=Math.sqrt(s*(s-a)*(s-b)*(s-c));returnarea1;}}Exp在main方法中創(chuàng)建類的對(duì)象,并調(diào)用相應(yīng)方法。設(shè)構(gòu)成三角(4)運(yùn)行程序,得到相應(yīng)的實(shí)驗(yàn)結(jié)果,示例結(jié)果如圖3-1所示。一、接口的運(yùn)用[實(shí)驗(yàn)?zāi)康腯[問題描述][實(shí)驗(yàn)思路]征,可以將這一特征定義為一個(gè)接口(Movable),幾種運(yùn)動(dòng)方式可以在接口[關(guān)鍵步驟]:}}}}}}}}}}。能熟練綜合運(yùn)用這幾種布局管理器設(shè)計(jì)復(fù)雜的圖形界面。容器中組件的位置和大小通常由布局管理器決定。每個(gè)容器都有一個(gè){}}}}nfor(inti=0;i<16;i++){}}}}的事件對(duì)象。如果應(yīng)該程序需要對(duì)此作為反應(yīng),那么就需要為按鈕注冊(cè)事}}lb.setText("你點(diǎn)擊了確認(rèn)按鈕!");}}}}}}}}}}}}根據(jù)上述示例,試編寫其他實(shí)現(xiàn)其他事件接口的程序,如WindowListener、實(shí)驗(yàn)五一.異常處理機(jī)制二.Java數(shù)據(jù)流方法。多種讀取/寫入數(shù)據(jù)的方法。whilei<12){}}}quickbrownfoxjumpsoverthelazydog.Exceptioninthread"main"在第9行出現(xiàn)了數(shù)組下標(biāo)越界的異常,導(dǎo)致了程序的中止,而程序的最后一條語句3.我們修改程序,加入異常處理,當(dāng)程序發(fā)生異常時(shí),經(jīng)過異常處理后,whilei<12){try{}{}}}}finally{}ntry{}finally{n}}}試自定義一個(gè)異常,在計(jì)算兩個(gè)數(shù)乘積的方法(Multiply)中,如果結(jié)果n}n}}n}try{}}} (1)編寫一個(gè)計(jì)算器,它從鍵盤中讀取操作數(shù)和操作符,經(jīng)過計(jì)算后,在屏幕}try{}}}{{}dQcmdq}try{}}}}}try{}}}//計(jì)算{{}}//讀操作符try{}}}} (2)試編寫一個(gè)程序完成文件拷貝功能,即從文件A中讀取數(shù)據(jù),再寫到文件try{}}finally{try{}}}}2.試自定義一個(gè)異常,在計(jì)算兩個(gè)數(shù)乘積的方法(Multiply)中,如果結(jié)果超過1000則拋3.編寫一個(gè)計(jì)算器,它從鍵盤中讀取操作數(shù)和操作符,經(jīng)過計(jì)算后,在屏幕上輸出結(jié)果。4.試編寫一個(gè)程序完成文件拷貝功能,即從文件A中讀取數(shù)據(jù),再寫到文件A的拷貝—(1)熟悉Applet的生命周期及其方法執(zhí)行特點(diǎn);(2)掌握Applet圖形繪制方法,如何控制圖形輸出時(shí)的坐標(biāo)位置變化。(3)掌握Applet參數(shù)傳遞;(4)熟悉字體和顏色的控制方法;(5)了解Applet圖像顯示和聲音播放方法。了解雙緩沖區(qū)的應(yīng)用,改進(jìn)圖像顯示效果。一、基本題1)根據(jù)Applet大小繪制若干同心圓,相鄰圓之間的間距為x個(gè)象素。ntrpublicvoidinit(){}iletrue}}}2)通過Applet參數(shù)提供兩個(gè)間距在100以內(nèi)的整數(shù),找出這兩個(gè)整數(shù)之間的所有素?cái)?shù),按publicvoidinit(){}ntiforiinumberi){}}}minumiif(judge(i)){}}}}}wdo{}}}}二、提高題1)繪制數(shù)學(xué)函數(shù)y=sin(x)的曲線(其中,x的取值為0~360)。forxxxtxinty}}}2)繪制一個(gè)太陽包括若干射線,讓太陽在Applet畫面上從左向右緩慢移動(dòng),到最右邊由重intcirclex,circley;//太陽左上角坐標(biāo)//射線端點(diǎn)坐標(biāo)intxnewint[8];intynewint[8];intxnewint[8];intynewint[8];publicvoidinit(){}for(inti=0;i<8;i++){}try{}}3)從Applet參數(shù)獲取一個(gè)字符串,統(tǒng)計(jì)其中每個(gè)英文字母出現(xiàn)的次數(shù)(不區(qū)分大小寫)。publicvoidinit(){}iistringlengthi}D}}4)參照樣例3繪制移動(dòng)的文字,但繪制時(shí)利用雙緩沖技術(shù),先創(chuàng)建一個(gè)和顯示文字串一樣大小的緩沖區(qū),將文字繪制在緩沖區(qū),再利用圖像繪制方法繪制在Applet畫面上。publicvoidinit(){}try{}}1)根據(jù)Applet大小繪制若干同心圓,相鄰圓之間的間距為x個(gè)象素。2)通過Applet參數(shù)提供兩個(gè)間距在100以內(nèi)的整數(shù),找出這兩個(gè)整數(shù)之間的所有素?cái)?shù),按4)繪制數(shù)學(xué)函數(shù)y=sin(x)的曲線(其中,x的取值為0~360)。5)繪制一個(gè)太陽包括若干射線,讓太陽在Applet畫面上從左向右緩慢移動(dòng),到最右邊由重6)從Applet參數(shù)獲取一個(gè)字符串,統(tǒng)計(jì)其中每個(gè)英文字母出現(xiàn)的次數(shù)(不區(qū)分大小寫)。7)參照樣例3繪制移動(dòng)的文字,但繪制時(shí)利用雙緩沖技術(shù),先創(chuàng)建一個(gè)和顯示文字串一樣大小的緩沖區(qū),將文字繪制在緩沖區(qū),再利用圖像繪制方法繪制在Applet畫面上。思考題1)所有變量初始化、對(duì)象創(chuàng)建、參數(shù)設(shè)置等可以安排在Applet的什么方法內(nèi)完A.initB.startC.stopD.以上都不是2)一個(gè)部件重繪時(shí),方法調(diào)用按下面哪個(gè)次序?(C)A.直接調(diào)用paint()Crepaintupdate),update再調(diào)用paint()D.調(diào)用repaint(),它將直接調(diào)用paint3)java.awt.Graphics類的哪個(gè)方法可繪制填充矩形?(A)A.fillRect()B.drawRect()C.fillOval()D.drawPolygon()E.drawLine()AloopBstopCstartD.play()importjava.awt.*;importjava.applet.*;publicclassmyAppletextendsApplet{publicvoidpaint(Graphicsg){//draw}}A.g.drawLine(0,0,getHeight(),getWidth());B.g.drawLine(0,getWidth(),0,getHeight());C.g.drawLine(0,getWidth(),getHeight(),0);D.g.drawLine(getWidth(),getHeight(),0,0);LC.getParameter(Stringname)用于獲取<PARAM>標(biāo)記中的參數(shù)值A(chǔ).getImage()方法無論圖像是否存在,都立即返回B.getImage()方法調(diào)用圖像的時(shí)候,一直等圖像加載完畢才返回C.使用getImage()方法時(shí),只有圖像真正需要繪制時(shí),數(shù)據(jù)才真正加載。D.由于網(wǎng)絡(luò)帶寬的限制,圖像的顯示過程可能會(huì)很慢。8)在HTML文件中通過什么標(biāo)記嵌入Applet(A)A.<APPLET>B.<CODE>C.<CODEBASE>D.<PARAM>實(shí)驗(yàn)七、多線程和數(shù)據(jù)庫、網(wǎng)絡(luò)Socket編程編寫一個(gè)含有多個(gè)線程的程序。編寫包含客戶端和服務(wù)器的網(wǎng)絡(luò)通信程序。.掌握線程的基本概念。2.掌握線程的創(chuàng)建、啟動(dòng)、結(jié)束的方法。3.理解線程的同步和死鎖。4.掌握數(shù)據(jù)庫的基本操作。了解網(wǎng)絡(luò)通信的基本原理。多線程允許在程序中并發(fā)執(zhí)行多個(gè)指令流,每個(gè)指令流都稱為一個(gè)線行控制,由操作系統(tǒng)負(fù)責(zé)調(diào)度,區(qū)別在于線程沒有獨(dú)立的存儲(chǔ)空間,而是和所屬進(jìn)程中的其它線程共享一個(gè)存儲(chǔ)空間,這使得線程間的通信遠(yuǎn)較進(jìn)程簡(jiǎn)的方法來方便我們控制自己的各個(gè)線程。有兩種方法創(chuàng)建線程:1.繼承ThreadrunRunnable口。Java語言提供了專門機(jī)制以解決這種沖突,有效避免了同一個(gè)數(shù)據(jù)對(duì)象1.編寫一個(gè)有兩個(gè)線程的程序,一個(gè)線程對(duì)數(shù)據(jù)執(zhí)行加法操作,另外一個(gè)。能控制線程的起停。事本編輯如下源程序:mp

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論