Java語言程序設計A實驗3:接口_第1頁
Java語言程序設計A實驗3:接口_第2頁
Java語言程序設計A實驗3:接口_第3頁
Java語言程序設計A實驗3:接口_第4頁
Java語言程序設計A實驗3:接口_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗課程名稱:Java語言程序設計A實驗項目名稱實驗3:接口實驗成績實驗者專業(yè)班級組別同組者無開始日期第一部分:實驗預習報:告( 包括實驗目的及意義,實驗基本原理與方法,主要儀器設備及耗材,實驗內(nèi)容及要求,實驗方案與技術(shù)路線等)一.實驗目的及意義.自定義接口。.自定義類實現(xiàn)接口。.接口及實現(xiàn)類的多態(tài)處理。二.實驗基本原理與方法.接口的概念。.接口對多態(tài)的支持。三.主要儀器設備及耗材. PC及其兼容機。.計算機操作系統(tǒng)。.程序編輯器 EditPlus/ Eclipseo. Java開發(fā)工具JDK四.實驗內(nèi)容及要求自定義形狀接口 Shape,該接口聲明了計算面積、周長的方法。然后,分別編寫三角形類

2、Triangle、六邊形類Hexagon、橢圓形類 Ellipse,它們都實現(xiàn)了 Shape接口。最后,編寫測試類 ShapesDemo, 多態(tài)地創(chuàng)建各種形狀對象,計算面積、周長。五.實驗方案及技術(shù)路線(含各種形狀面積、周長的計算公式,UML類圖,注意事項)因為每種形狀的面積、周長計算所需要的參數(shù)個數(shù)不同,并且不同類型的三角形計算周長的面積的方法也不同,所以抽象類的參數(shù)就定為可變長度集合ArrayList, 一般三角形的面積 S=a*h/2 ,周長L=a+b+c;直角三角形面積S=a*b,周長L=a+b+亍 ,等邊三角形的面積S=53*a2/4,周長L=3*a;六邊形的面積 S=33* a2/

3、2 ,周長L=6*a。以下是簡略的 UML類圖:1)接口 ShapeO ShapeculAreafListDouble5)J culGirth(ListDouble?) : double三角形類Triangle陽Trianglea 1 doublejji b ; double 上F c :doubh 旃 h : double - IktData : LktwDouble TriangleCddible) e Triangletdouble, doubly G L Triangle(dcuble, double, double, double) getLstDatafl ; Lit =: Dou

4、bles Q 5etListData(ListDouble*) : /cid a culAr&dfGst doub 9占 culGirth(List) ; double六邊形類e Hsxwgcjna : doubled listData : . Double Hexagoritdojble)電心 cu I Area (L si ) : doubleq culGirthCLkteDoubles- : doub egelListDataQ ; List-tDouble-橢圓形類汾Eiig阻jj a : doublt,tc b : double JuA listData : LittDouble命

5、Ellipsefdouble, double).d ciilAred(List*Double*) doub ea cijlGirth(LktDoubles : doublegfrtListDataQ ; Li5t“Dcubk第二部分:實驗過程記錄(可加頁)(代碼、運行結(jié)果、實驗中出現(xiàn)的問題及解決過程)Shape 接口 : import interface Shape public double culArea(Listlist); public double culGirth(Listlist);六邊形類Hexagon: import .*;public class Hexagon imple

6、ments Shape private double a;List listData=new ArrayList(); public Hexagon(double a)=a;(a);Overridepublic double culArea(List list) double s=0;s=(3)*3*(0), 2)/2; return s;Overridepublic double culGirth(List list) double l=0;l=(0)*6;return l;public List getListData() return listData;三角形類Triangle: imp

7、ort .*;public class Triangle implements Shape private double a;private double b;private double c private double h;ListlistData=new ArrayList(); public Triangle(double a) =a;(a); public Triangle(double a, double b) =a;=b;(a);(b);public Triangle(double a, double b, double c, double h) super();=a;=b;=c

8、;=h;(a);(b);(c);(h);public List getListData()return listData;public void setListData(ListlistData)=listData;Overridepublic double culArea(Listlist)double s=0;if(0)=s=(3)*(1), 2)/4;if(0)=s=(1)*(2)/2;if(0)=s=(1)*(4)/2;return s;Overridepublic double culGirth(Listlist) double l=0;if(0)=l=3*(1);if(0)=l=(

9、1)+(2)+(1), 2)+(2), 2);if(0)=l=(1)+(2)+(3);_for(;)return l; 測試類 ShapesDemo: public class ShapesDemo public static void main(String口 args) menuStrip();public static void menuStrip()Scannersc = new Scanner;String choice = null;do ”選擇需要計算面積和周長的圖形形狀。);“1.三角形)2.正六邊形);“3.橢圓形)4.退出)”請輸入選項【1-41); choice =();

10、switch (choice) case1:optionl ();break;case2: option2 ();break;case3:option3();break;case4:(0);default:輸入錯誤!);menuStrip(); while (!(4);private static void option1()Scannersc仁new Scanner;String tempChoice=null;”請選擇需要三角形的類型。);1.等邊三角形);2.直角形);3.普;);”請輸入選項【1-3(返回上一級請輸入0); tempChoice=();if(1) try ”請輸入等邊三

11、角形的邊長:”);double aIn=(); if(aIn0) Triangle trianglel =new Triangle(aln);double area=();double girth=();此三角形的面積為:+area+n此三角形的周長為:+girth);break; else輸入錯誤,請輸入大于0的數(shù)值!”); catch (Exceptione)輸入錯誤,請重新輸入!);option1 (); else if(2) try for(;) ”請輸入一條直角邊長:);double aIn=();”請輸入另一條直角邊長:);double bIn=();if(aIn0&bIn0)Tr

12、iangle triangle1 =new Triangle(aIn,bIn);double area=();double girth =();此三角形的面積為:+area+n此三角形的周長為: +girth);break; else輸入錯誤,請輸入大于0的數(shù)值!”); catch (Exceptione)輸入錯誤,請重新輸入!”);option1();else if(3)try for(;)”請輸入三角形底邊長:”);double aIn=();”請輸入高:”);double hIn=();請輸入三角形一條側(cè)邊邊長:);double bIn=();請輸入三角形另一條側(cè)邊邊長:);double

13、 cIn=();if(aln0&bln0&cln0&hln0) if (aln+bln)cln&(aln+cln)bln&(bln+cln)aln) Triangle trianglel =new Triangle(aIn,bIn,cIn,hIn);double area=();double girth =();此三角形的面積為:+area+n此三角形的周 長為:+girth);break; else輸入錯誤!不能構(gòu)成三角形!請重新輸入數(shù).); else 輸入錯誤,請輸入大于0的數(shù)值!”); catch (Exceptione)”輸入錯誤,請重新輸入!);option1 ();else if(

14、0) menuStrip(); else”輸入錯誤!)String c=reChoice();if(1)option1(); else2返回主菜單.n+ ”請輸入選擇【1-2】 :);tempSelect =();ifOK 2break;else錯誤選項!請重新選擇!);/return tempSelect;運行結(jié)果如下: 三角形的計算_ Problems Javadoc Declaration 口 Console 漢ShapesDemo Java Application C:Program FilesJavajdvsw.exe 20156月6日下午9:12431 選擇需要計算面積和周長的圖形

15、形狀, 1 ,三角形 2.正六邊形 九橢圓形 4 ,退出請輸入選項1-4 1請選擇需要三角形的類型,.等邊三角形.直角形3普通請輸入選項12-3】(返回上一級請輸入1請輸入等邊三角形的邊長:5此三角形的面積如 10.825317547305483此三角形的周長為;15.e2 Problems Javadoc 艮 Declaration 日 Console 笈 |ShapesDemo Java Application C:Program FilesJavajdkl.7.O_79binjavaw.exe (20156月6日下午9:12:43) 選擇需要計算面積和周長的圖形形狀。三角形.正六邊形.橢

16、圓形,退出請輸入選項1-41請選擇需要三角形的類型。.等邊三角形.直角形.普通請輸入選項(返回上一級請輸入0,)2請輸入一條直角邊長:4請輸入另一條直角邊長:5此三角形的面積為:10.0此三角形的周長為:15.403124237432849 Problems Javadoc 遂 Declaration 日 Console 區(qū)ShapesDemo (Java Application C:Program FilesJavajdkl.7.0_79binjavaw.exe (2015年6月6日下午9:22:17) 請選擇需要三角形的類型。.等邊三角形.直角形普通請輸入選項3】(返回上一級請輸入0 )3

17、請輸入三角形底邊長:55請輸入高:34請輸入三角形一條側(cè)邊邊長:5請輸入三角形另一條側(cè)邊邊長:9請輸入三角形底邊長;輸入錯誤!不能構(gòu)成三角形!請重新輸入數(shù)請輸入高:13請輸入三角形一條側(cè)邊邊長:15請輸入三角形另一條側(cè)邊邊長:9此三角形的面積為:45.5此三角形的周長為:31.0計算六邊形:臣 Problems 國 Javadoc & Declaration 回 Console S3ShapesDemo Java Application C:Program FilesJavajdkl.7,0 79binTjavaw.exe2015年6月&日下午 選擇需要計算面積和周長的圖形形狀.三角形.正六邊

18、形.精圓形.退出請輸入選項1-42是否要繼續(xù)計算?1繼續(xù)計算.2返回主菜單.請輸入選擇1-21 :1請輸入正六邊形的邊長:-3榆入錯誤,請輸入大于。的數(shù)值!請輸入正六邊形的邊長,此正六邊形的面積為:93.53074360871938此正六邊形的周長為 36.6計算橢圓形:Problems 砂 Javadoc 工.Declaration 曰 Console 送ShapesDemo (Javai Application C:Progriani FilesJavajdkl.7.0 79binjavaw.ewe (201,56月6日 下午9:22:17) 選擇需要計算面積和周長的圖形形狀。.三角形.正六邊形,橢圓形.退出請輸入選項1-413是否要繼續(xù)計算?1繼續(xù)計算.2返回主菜單.請輸入選擇1-2: 1請輸入橢圓長半軸長;:7請輸入橢圓短半軸長,14輸入錯誤,長半軸長度小于短半軸,請重新您輸入I請輸入橢圓長半軸長;:S請輸入橢圓短半軸長:4此橢圓形的面積為:100,53096491487338此橢圓的周長為;41.13274122S718345教師簽字第三部分結(jié)果與討論(可加頁)實驗結(jié)果分析(包括數(shù)據(jù)處理、影響因素討論、綜合分析和結(jié)論等)本例中的

溫馨提示

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

最新文檔

評論

0/150

提交評論