![實驗一《類與對象》_第1頁](http://file4.renrendoc.com/view/4e8a5e198e87dfad5b070cf16d31b2c8/4e8a5e198e87dfad5b070cf16d31b2c81.gif)
![實驗一《類與對象》_第2頁](http://file4.renrendoc.com/view/4e8a5e198e87dfad5b070cf16d31b2c8/4e8a5e198e87dfad5b070cf16d31b2c82.gif)
![實驗一《類與對象》_第3頁](http://file4.renrendoc.com/view/4e8a5e198e87dfad5b070cf16d31b2c8/4e8a5e198e87dfad5b070cf16d31b2c83.gif)
![實驗一《類與對象》_第4頁](http://file4.renrendoc.com/view/4e8a5e198e87dfad5b070cf16d31b2c8/4e8a5e198e87dfad5b070cf16d31b2c84.gif)
![實驗一《類與對象》_第5頁](http://file4.renrendoc.com/view/4e8a5e198e87dfad5b070cf16d31b2c8/4e8a5e198e87dfad5b070cf16d31b2c85.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
實驗一類與對象實驗課程名:Java程序設(shè)計專業(yè)班級: 學(xué)號: 姓名: 實驗時間:9.16-9.23 實驗地點:K4—307 指導(dǎo)教師:伍紅華一、 實驗?zāi)康暮鸵笫褂妙悂矸庋b對象的屬性和功能;掌握類變量與實例變量,以及類方法與實例方法的區(qū)別;掌握使用package和import語句;鞏固以下概念:子類的繼承性,子類對象的創(chuàng)建過程,成員變量的繼承與隱藏,方法的繼承與重寫。二、 實驗內(nèi)容1三角形、梯形和圓形的類封裝編寫一個Java應(yīng)用程序,該程序中有3個類:Trangle、Leder和Circle,分別用來刻畫“三角形”、“梯形”和“圓形”。具體要求如下:Trangle類具有類型為double的三個邊,以及周長、面積屬性,Trangle類具有返回周長、面積以及修改三個邊的功能。另外,Trangle類還具有一個boolean型的屬性,該屬性用來判斷三個屬能否構(gòu)成一個三角形。Lader類具有類型double的上底、下底、高、面積屬性,具有返回面積的功能。Circle類具有類型為double的半徑、周長和面積屬性,具有返回周長、面積的功能。AreaAndLength.javaclassTrangle{doublesideA,sideB,sideC,area,length;booleanboo;publicTrangle(doublea,doubleb,doublec){【代碼1】//參數(shù)a,b,c分別賦值給sideA,sideB,sideCif(【代碼2】)//a,b,c構(gòu)成三角形的條件表達(dá)式{【代碼3】//給boo賦值。}else{【代碼4】//給boo賦值。}}doublegetLength(){【代碼5】//方法體,要求計算出length的值并返回publicdoublegetArea(){if(boo){doublep=(sideA+sideB+sideC)/2.0;area二Math.sqrt(p*(p—sideA)*(p—sideB)*(p—sideC))returnarea;}else{System.out.println("不是一個三角形,不能計算面積");return0;}}publicvoidsetABC(doublea,doubleb,doublec){【代碼6】//參數(shù)a,b,c分別賦值給sideA,sideB,sideCif(【代碼7】)//a,b,c構(gòu)成三角形的條件表達(dá)式{【代碼8】//給boo賦值。}else{【代碼9】//給boo賦值。}}}classLader{doubleabove,bottom,height,area;Lader(doublea,doubleb,doubleh){【代碼10】//方法體,將參數(shù)a,b,c分別賦值給above,bottom,height}doublegetArea(){【代碼11】//方法體,,要求計算出area返回}}classCircledoubleradius,area;Circle(doubler)【代碼12】//方法體doublegetArea(){【代碼13】//方法體,要求計算出area返回}doublegetLength(){【代碼14】//getArea方法體的代碼,要求計算出length返回}voidsetRadius(doublenewRadius){radius二newRadius;}doublegetRadius(){returnradius;}}publicclassAreaAndLength{publicstaticvoidmain(Stringargs[]){doublelength,area;Circlecircle二null;Trangletrangle;Laderlader;【代碼15】【代碼16】【代碼17】【代碼18】//創(chuàng)建對象circle//創(chuàng)建對象trangle。//創(chuàng)建對象lader//circle調(diào)用方法返回周長并賦值給lengthSystem.out.println("圓的周長:"+length);【代碼19】//circle調(diào)用方法返回面積并賦值給areaSystem.out.println("圓的面積:"+area);【代碼20】//trangle調(diào)用方法返回周長并賦值給lengthSystem.out.println("三角形的周長:"+length);【代碼21】//trangle調(diào)用方法返回面積并賦值給areaSystem.out.println("三角形的面積:"+area);【代碼22】//lader調(diào)用方法返回面積并賦值給areaSystem.out.println("梯形的面積:"+area);【代碼23】//trangle調(diào)用方法設(shè)置三個邊,要求將三個邊修改為12,34,1?!敬a24】//trangle調(diào)用方法返回面積并賦值給areaSystem.out.println("三角形的面積:"+area);【代碼25】//trangle調(diào)用方法返回周長并賦值給lengthSystem.out.println("三角形的周長:"+length);}解答:源代碼://AreaAndLength.javaclassTrangle{doublesideA,sideB,sideC,area,length;booleanboo;publicTrangle(doublea,doubleb,doublec){sideA=a;sideB=b;sideC=c;// 【代碼1】//參數(shù)a,b,c分別賦值給sideA,sideB,sideCif((a+b>c)&&(a+c>b)&&(b+c>a))//代碼2a,b,c構(gòu)成三角形的條件表達(dá)式{boo=true;//代碼3給boo賦值。}else{boo=false;//代碼4給boo賦值。}}doublegetLength(){if(boo){length=sideA+sideB+sideC;returnlength;//代碼5方法體,要求計算出length的值并返回}else{System.out.println(”不是一個三角形,不能計算周長”);return0;}}publicdoublegetArea(){if(boo){doublep=(sideA+sideB+sideC)/2.0;area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));returnarea;}else{Systemout.printin(”不是一個三角形,不能計算面積”);return0;}}publicvoidsetABC(doublea,doubleb,doublec){sideA=a;sideB=b;sideC=c;//代碼6參數(shù)a,b,c分別賦值給sideA,sideB,sideCif((a+b>c)&&(a+c>b)&&(b+c>a))//代碼6a,b,c構(gòu)成三角形的條件表達(dá)式{boo=true;//代碼7給boo賦值。}else{boo=false;//代碼8給boo賦值。}}}classLader{doubleabove,bottom,height,area;Lader(doublea,doubleb,doubleh){above=a;bottom=b;height=h;//代碼9方法體,將參數(shù)a,b,c分別賦值給above,bottom,height}doublegetArea(){area=(above+bottom)*height/2;returnarea;//代碼10方法體,,要求計算出area返回}}classCircle{doubleradius,area;Circle(doubler){radius=r;//代碼12方法體}doublegetArea(){area=Math.PT*radius*radius;returnarea;//代碼13方法體,要求計算出area返回}doublegetLength(){return(2*Math.PT*radius);//代碼14getArea方法體的代碼,要求計算出length返回}voidsetRadius(doublenewRadius){radius=newRadius;}doublegetRadius(){returnradius;}}publicclassAreaAndLength{publicstaticvoidmain(Stringargs[]){doublelength,area;Circlecirclenull;Trangletrangle;Laderlader;circle=newCircle(2);//代碼15創(chuàng)建對象circletrangle=newTrangle(6,8,10);//代碼16創(chuàng)建對象trangle。lader=newLader(3,5,6);//代碼17創(chuàng)建對象laderlength=circle.getLength();//代碼18circle調(diào)用方法返回周長并賦值給lengthSystemout.println("圓的周長:"+length);area=circle.getArea();//代碼19circle調(diào)用方法返回面積并賦值給areaSystemout.println("圓的面積:"+area);length=trangle.getLength();//代碼20trangle調(diào)用方法返回周長并賦值給lengthSystemout.println("三角形的周長:"+length);area=trangle.getArea();//代碼21trangle調(diào)用方法返回面積并賦值給areaSystemout.println("三角形的面積:"+area);area=lader.getArea();//代碼22lader調(diào)用方法返回面積并賦值給areaSystemout.println("梯形的面積:"+area);trangle.setABC(12,34,1);//代碼23trangle調(diào)用方法設(shè)置三個邊,要求將三個邊修改為12,34,1。area=trangle.getArea()//【代碼24】trangle調(diào)用方法返回面積并賦值給areaSystemout.println("三角形的面積:"+area);
length=trangle.getLength()//【代碼25】trangle調(diào)用方法返回周長并賦值給lengthSystemout.println("三角形的周長:"+length);}}運行結(jié)果:(alt+printscreen),Problems@Javadoc冏,Declaration旦ConsoFe涼<teriTiinated>AreaAndlL巳ngth[JavaApplication]E:\Progi□豹月悵:12.56637061435917212.566370614359172三悄蛋的再悵:2斗.0三曲廉拊面寒:24.0棣孚対司航:2斗.0不是f三怕?!徊荒苡嬄暱啥惾悦婧?左不是一4■三怕?!徊荒苤銉组L三怕爭的月悵冷花運行結(jié)果分析:實驗后的練習(xí):程序中僅僅省略【代碼15】,編譯能通過嗎?答:不能程序中僅僅省略【代碼16】,編譯能通過嗎?答:不能程序中僅僅省略【代碼15】,運行時出現(xiàn)怎樣的異常提示?払Problems@Javadoc[^,Declaration貝ConsoFe蘆■^terminated>Ar&aALength[JavaApplication]E:\ProgramFilesXJava1答:Exceptioninthread''irain"~j日w日,J■日門E.RullPnin~terE:<(z亡lotionatfireaAndLen^thJirain(Ar亡日/VidLength,~j曰:i答:給Trangle類增加3個方法,分別用來返回3個邊:sideA、sideB和sideC。答:讓AreaAndLength類中的circle對象調(diào)用方法修改半徑,然后輸出修改后的半徑以及修改半徑后的圓的面積和周長。答:2.實例成員與類成員:按程序模板的要求編寫源文件,要特別注意程序的輸出結(jié)果,并能正確解釋輸出的結(jié)果。Example.javaclassA{【代碼1】 〃聲明一個float型實例變量a【代碼2】 〃聲明一個float型類變量b,即static變量bvoidsetA(floata){【代碼3】 〃將參數(shù)a的值賦值給成員變量a}voidsetB(floatb){【代碼4】 〃將參數(shù)b的值賦值給成員變量b}floatgetA(){returna;}floatgetB(){returnb;}voidinputA(){System.out.println(a);}staticvoidinputB(){System.out.println(b);}}publicclassExample{publicstaticvoidmain(Stringargs[]){【代碼5】 〃通過類名操作類變量b,并賦值100【代碼6】 〃通過類名調(diào)用方法inputB()Acat=newA();Adog=newA();【代碼7】 //cat象調(diào)用方法setA(inta)將cat的成員a的值設(shè)置為200【代碼8】//cat調(diào)用方法setB(intb)將cat的成員b的值設(shè)置為400【代碼9】 //dog象調(diào)用方法setA(inta)將dog的成員a的值設(shè)置為150【代碼10】 //dog調(diào)用方法setB(intb)將dog的成員b的值設(shè)置為300【代碼11】 //cat調(diào)用inputA()?!敬a12】 //cat調(diào)用inputB()。【代碼13】 //dog調(diào)用inputA()o【代碼14】 //dog調(diào)用inputB()o}}解答:源代碼:運行結(jié)果:(alt+printscreen)運行結(jié)果分析:運行結(jié)果分析:(4)實驗后的練習(xí):a)將inputA()方法中的System.out.println(a);改寫為System.out.println(a+b);編譯是否出錯?為什么?b)將inputB()方法中的System.out.println(b);改寫為System.out.println(a+b);編譯是否報錯?為什么?答:3.使用package語句與import語句:創(chuàng)建一個java包,名為"chan”;定義一個學(xué)生類studentl,分別定義num,name,sex三個屬性,訪問修飾符分別是private、無修飾符和public修飾符。在主類student中創(chuàng)建學(xué)生類的對象,并且分別設(shè)置學(xué)號,姓名和性別的初始值,在主類中調(diào)用對象。用import語句導(dǎo)入學(xué)生包fxj_stu,分別定義num,name,sex三個屬性,訪問修飾符分別是private、無修飾符和public修飾符,然后在主類中創(chuàng)建對象,修改其屬性值,看能否成功,如果不能,改變其訪問修飾符,然后再觀察結(jié)果。student.javapackagechan;importfxj.fxj_stu;classstudentl{publicintnum;Stringname;publicStringsex;}publicclassstudent{publicstaticvoidmain(String[]args){student1new_student=newstudent1();new_student.num=14;new_="chan";new_student.sex="男";fxj_stuxiaming=newfxj_stu();xiaming.num=19;="夏明";xiaming.sex="男";
System.out.println(”輸出我的基本信息:");System.out.println(”號碼:"+new_student.num);System.out.println(”姓名:"+new_);System.out.println(”性另U:"+new_student.sex);System.out.printl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安保服務(wù)外包合同
- 湘教版數(shù)學(xué)九年級上冊《3.4.1相似三角形的判定》聽評課記錄
- 人教版地理七年級下冊8.1《中東》(第2課時)聽課評課記錄
- 湘教版數(shù)學(xué)八年級上冊1.1《分式的概念》聽評課記錄2
- 甲方終止租賃合同范本(2篇)
- 新版湘教版秋八年級數(shù)學(xué)上冊第二章三角形課題三角形的基本概念聽評課記錄
- 人教版數(shù)學(xué)七年級下冊5.3.2-2《命題、定理、證明2》聽評課記錄1
- 一年級下數(shù)學(xué)聽評課記錄
- 湘師大版道德與法治九年級下冊1.2《充滿活力的社會主義市場經(jīng)濟(jì)》(第1課時)聽課評課記錄
- 一二年級聽評課記錄
- 精裝修室內(nèi)施工組織部署
- 農(nóng)用拖拉機(jī)考試題庫
- GJB438C模板-軟件開發(fā)計劃(已按標(biāo)準(zhǔn)公文格式校準(zhǔn))
- 2023年政府采購評審專家考試真題及答案
- 云端數(shù)據(jù)加密與密鑰管理解決方案
- 毒麻藥品試題答案
- 元明時期左江上思州黃姓土司問題研究
- 傳統(tǒng)體育養(yǎng)生學(xué)
- DB4401∕T 33-2019 電梯托管標(biāo)準(zhǔn)化管理規(guī)范
- 松原市人民政府關(guān)于印發(fā)松原市招商引資服務(wù)公司組建工作實施方案的通知
- 義工財務(wù)管理制度范文
評論
0/150
提交評論