![實驗四Java語言面向?qū)ο蠡A(chǔ)編程_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/1/54f2b222-fcec-480c-a695-99e97cb491e4/54f2b222-fcec-480c-a695-99e97cb491e41.gif)
![實驗四Java語言面向?qū)ο蠡A(chǔ)編程_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/1/54f2b222-fcec-480c-a695-99e97cb491e4/54f2b222-fcec-480c-a695-99e97cb491e42.gif)
![實驗四Java語言面向?qū)ο蠡A(chǔ)編程_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/1/54f2b222-fcec-480c-a695-99e97cb491e4/54f2b222-fcec-480c-a695-99e97cb491e43.gif)
![實驗四Java語言面向?qū)ο蠡A(chǔ)編程_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/1/54f2b222-fcec-480c-a695-99e97cb491e4/54f2b222-fcec-480c-a695-99e97cb491e44.gif)
![實驗四Java語言面向?qū)ο蠡A(chǔ)編程_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/1/54f2b222-fcec-480c-a695-99e97cb491e4/54f2b222-fcec-480c-a695-99e97cb491e45.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注! 實驗項目編號實驗項目名稱 Java語言面向?qū)ο蠡A(chǔ)編程實驗學(xué)時實驗日期成績實驗地點指導(dǎo)老師實驗四 Java語言面向?qū)ο蠡A(chǔ)編程一、實驗?zāi)康?.理解Java語言是如何體現(xiàn)面向?qū)ο缶幊袒舅枷耄?.了解類的封裝方法,以及如何創(chuàng)建類和對象,3.了解成員變量和成員方法的特性。二、實驗內(nèi)容1.類的定義、封裝和對象創(chuàng)建的使用。編寫一個Java應(yīng)用程序,該程序中有3個類:Trangle、Leder和Circle,分別用來刻畫“三角形”、“梯形”和“圓形”。具體要求如下:(1)Trangle類具有類型為double的三個邊,以及周長、面積屬性,Trangle類具
2、有返回周長、面積以及修改三個邊的功能。另外,Trangle類還具有一個boolean型的屬性,該屬性用來判斷三個屬能否構(gòu)成一個三角形。(2)Lader類具有類型double的上底、下底、高、面積屬性,具有求面積的功能。(3)Circle類具有類型為double的半徑、周長和面積屬性,具有求周長、面積的功能。package exercise;class Trangledouble sideA,sideB,sideC,area,length;boolean boo;/帶三個參數(shù)的構(gòu)造函數(shù)public Trangle(double a,double b,double c) sideA=a;/參數(shù)a,
3、b,c 分別賦值給sideA,sideB,sideCsideB=b;sideC=c;if(sideA+sideB>sideC && sideA+sideC>sideB && sideB+sideC>sideA) /a,b,c 構(gòu)成三角形的條件表達式boo=true;/給boo 賦值。elseboo=false;/給boo 賦值。double getLength()return sideA+sideB+sideC;/方法體,要求計算出length 的值并返回/計算三角形的面積public double getArea()if(boo)double
4、 p=(sideA+sideB+sideC)/2.0;area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC);return area;elseSystem.out.println("不是一個三角形,不能計算面積");return 0;public void setABC(double a,double b,double c)sideA=a;/參數(shù)a,b,c 分別賦值給sideA,sideB,sideCsideB=b;sideC=c;if(sideA+sideB>sideC && sideA+sideC>sid
5、eB && sideB+sideC>sideA)/a,b,c 構(gòu)成三角形的條件表達式boo=true;/給boo 賦值。 else boo=false;/給boo 賦值。/定義一個梯形類class Laderdouble above,bottom,height,area;Lader(double a,double b,double h)above=a;/方法體,將參數(shù)a,b,c 分別賦值給above,bottom,heightbottom=b;height=h;double getArea()return (above+bottom)*height/2.0;/方法體,,要
6、求計算出area 返回/定義一個圓類class Circle double radius,area;Circle(double r)radius=r;/方法體double getArea() return Math.PI*Math.pow(radius, 2);/方法體,要求計算出area 返回double getLength()return 2*Math.PI*radius;/getArea 方法體的代碼,要求計算出length 返回void setRadius(double newRadius) radius=newRadius;double getRadius() return radi
7、us;public class shiyan4_1public static void main(String args)double length,area;Circle circle=null;Trangle trangle;Lader lader; circle=new Circle(3);/創(chuàng)建對象circle trangle=new Trangle(6,5,2);/創(chuàng)建對象trangle。 lader=new Lader(8,9,6);/創(chuàng)建對象laderlength=circle.getLength();/ circle 調(diào)用方法返回周長并賦值給lengthSystem.out.p
8、rintln("圓的周長:"+length);area=circle.getArea();/ circle 調(diào)用方法返回面積并賦值給areaSystem.out.println("圓的面積:"+area);length=trangle.getLength();/ trangle 調(diào)用方法返回周長并賦值給lengthSystem.out.println("三角形的周長:"+length);area=trangle.getArea();/ trangle 調(diào)用方法返回面積并賦值給areaSystem.out.println("三
9、角形的面積:"+area);area=lader.getArea();/ lader 調(diào)用方法返回面積并賦值給areaSystem.out.println("梯形的面積:"+area);trangle=new Trangle(12,34,1);/ trangle 調(diào)用方法設(shè)置三個邊,要求將三個邊修改為12,34,1。area=trangle.getArea();/ trangle 調(diào)用方法返回面積并賦值給areaSystem.out.println("三角形的面積:"+area);length=trangle.getLength();/ tra
10、ngle 調(diào)用方法返回周長并賦值給lengthSystem.out.println("三角形的周長:"+length);2實例成員與類成員的使用。按程序模板的要求編寫源文件,要特別注意程序的輸出結(jié)果,并能正確解釋輸出的結(jié)果。package exercise;class Afloat a;static float b;void setA(float A)a = A;void setB(float B)b = B;float getA()return a;float getB()return b;void outputA()System.out.println(a);stati
11、c void outputB()System.out.println(b);public class shiyan4_2 SuppressWarnings("static-access")public static void main(String args) / TODO Auto-generated method stubA.b = 100;A.outputB();A cat = new A();A dog = new A();cat.setA(200);cat.setB(400);dog.setA(150);dog.setB(300);cat.outputA();ca
12、t.outputB();dog.outputA();dog.outputB();3.方法中參數(shù)傳遞的練習(xí)在其它語言中,函數(shù)調(diào)用或過程調(diào)用時參數(shù)有傳值調(diào)用和傳地址調(diào)用之分。在Java 中,方法中的參數(shù)傳遞可以分為傳值調(diào)用或?qū)ο蠓椒ㄕ{(diào)用等方式。傳值調(diào)用即傳遞的參數(shù)是基本數(shù)據(jù)類型,調(diào)用方法時在方法中將不能改變參數(shù)的值,這意味著只能使用它們。對象調(diào)用是指先調(diào)用對象,再調(diào)用對象的方法,這種方式可以修改允許存取的成員變量。所以,如果不想改變參數(shù)的值,可以采用傳值調(diào)用的方法。如果想改變參數(shù)的值,可采用對象調(diào)用的方法,間接修改參數(shù)的值。(1)編寫一個傳值調(diào)用的程序文件SY3_3.java。程序功能:程序首先給
13、整型變量x 和y 賦一個初值10,然后使用傳值調(diào)用方式調(diào)用方法ff1 對x 和y 做乘方及輸出x 和y 的乘方值,最后再輸出x 和y 的乘方值。package exercise;public class shiyan4_3 public static void main(String args) / TODO Auto-generated method stubint x = 10, y = 10;swap(x, y);System.out.println("x = " + x + ", y = " + y);static void swap(int p
14、assX, int passY)passX = passX * passX;passY = passY * passY;System.out.println("passX = " + passX + ", passY = " + passY);(2)編寫一個調(diào)用對象方法的程序文件SY3_4.java。package exercise;public class shiyan4_4 public static void main(String args) / TODO Auto-generated method stubPower p = new Power
15、();p.swap(p.x, p.y);System.out.println("方法調(diào)用后 x = " + p.x + ", y = " + p.y);class Powerint x = 10, y = 10;void swap(int passX, int passY)System.out.println("初始時 x = " + x + ", y = " + y);x = passX * passX;y = passY * passY;System.out.println("方法調(diào)用中 x = &q
16、uot; + x + ", y = " + y);4定義一個名為MyRectangle的矩形類,類中有4 個私有的整型域,分別是矩形的左上角坐標(biāo)(xUp,yUp)和右下角坐標(biāo)(xDown,yDown);類中定義沒有參數(shù)的構(gòu)造方法和有4 個int參數(shù)的構(gòu)造方法,用來初始化類對象。類中還有以下方法:getW( )計算矩形的寬度;getH( )計算矩形的高度;area( )計算矩形的面積;toString( )把矩形的寬、高和面積等信息作為為字符串返回。編寫應(yīng)用程序使用MyRectangle類。package exercise;class MyRectangleprivate i
17、nt xUp, yUp;private int xDown, yDown;public MyRectangle()xUp = yUp = xDown = yDown = 0;public MyRectangle(int xu, int yu, int xd, int yd)xUp = xu;yUp = yu;xDown = xd;yDown = yd;public int getW()return Math.abs(xUp - xDown);public int getH()return Math.abs(yUp - yDown);public int area()return this.ge
18、tW() * this.getH();public String toString()String tempStr = "width = " + this.getW() + " height = " + this.getH() + " area = " + this.area();return tempStr;public class shiyan4_5public static void main(String args) / TODO Auto-generated method stubMyRectangle tempRec1 =
19、 new MyRectangle();MyRectangle tempRec2 = new MyRectangle(-1, 5, 4, 7);System.out.println("This first rectangle information " + tempRec1.toString();System.out.println("This second rectangle information " + tempRec2.toString();5請定義一個名為Card 的撲克牌類,該類有兩個private 訪問權(quán)限的字符串變量face 和suit:f
20、ace 描述一張牌的牌面值(如:"Ace", "Deuce", "Three","Four","Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King");suit描述一張牌的花色(如:"Hearts", "Diamonds&
21、quot;, "Clubs", "Spades")。定義Card 類中的public 訪問權(quán)限的構(gòu)造方法,為類中的變量賦值;定義protected 訪問權(quán)限的方法getFace(),得到撲克牌的牌面值; 定義protected 訪問權(quán)限的方法getSuit(),得到撲克牌的花色; 定義方法toString(),返回表示撲克牌的花色和牌面值字符串(如“Ace ofHearts”、“Ten of Clubs”等)。package exercise;class Cardprivate String face;private String suit;public
22、 Card(String f, String s)face = f;suit = s;protected String getFace()return face;protected String getSuit()return suit;public String toString()return face + " of " + suit;public class shiyan4_6public static void main(String args) / TODO Auto-generated method stubCard card1 = new Card("
23、;Ace", "Hearts");Card card2 = new Card("Ten", "Clubs");System.out.println(card1.toString();System.out.println(card2.toString();6設(shè)計一個Worker 類,其成員變量有:身份證號、姓名、性別、年齡、入職時間、工資/月、獎金/月、加班費/月、電話費/月、生活費/月、交通費/月、房租/月;用構(gòu)造方法進行初始化;其他成員方法:輸出工人信息的方法(包括輸出凈收入),當(dāng)某個信息沒有被賦值(初始化)時,輸出信息為
24、“未知”;計算總收入的方法,總收入中要考慮扣除國家現(xiàn)行的個人所得稅法規(guī)定的稅金;計算總支出的方法。package exercise;class Workerprivate String number;private String name;private String sex;private int age;private String entry;private double salary;private double bonus;private double overtimeMoney;private double phoneMoney;private double liveMoney;p
25、rivate double trafficMoney;private double rent;public Worker()number = name = sex = entry = ""age = 0; salary = bonus = overtimeMoney = phoneMoney = liveMoney = trafficMoney = rent = 0;public Worker(String num, String nam, String se,int ag, String ent, double sal, double bon,double ove, do
26、uble pho, double liv, double tra, double ren)number = num;name = nam;sex = se;age = ag;entry = ent;salary = sal;bonus = bon;overtimeMoney = ove;phoneMoney = pho;liveMoney = liv;trafficMoney = tra;rent = ren;public void showInfo()if(number.equals("")System.out.println("");elseSyst
27、em.out.println(number + "member infomation list :");System.out.println(name);System.out.println(sex);System.out.println(age);System.out.println(entry);double money = salary + bonus + overtimeMoney - phoneMoney - liveMoney - trafficMoney - rent;System.out.println(money);public class shiyan4
28、_7 public static void main(String args) Worker worker1 = new Worker();Worker worker2 = new Worker("0715646", "leafspace", "women", 22, "20160901", 5000, 500, 1200, 50, 800, 150, 1500);worker1.showInfo();worker2.showInfo();7設(shè)計一個汽車Car類,其成員變量有:商標(biāo)、型號、系列、箱式(三廂、兩廂)、
29、顏色、出廠日期、門數(shù)、排量、價格、可優(yōu)惠價、百公里耗油量、最高時速、最大功率、最大扭矩、加速時間、剎車距離;用構(gòu)造方法進行初始化;其他成員方法:輸出汽車信息的方法,當(dāng)某個信息沒有被賦值(初始化)時,輸出信息為“未知”;計算行駛一定距離總耗油量,以及給定油價計算燃油費用的方法。package exercise;class Carprivate String logo;private String model;private String series;private String boxN;private String color;private String outDate;private i
30、nt doorN;private long outN;private double price;private double sellprice;private double oil;private int speed;private double maxpower;private double maxspace;private double time;private double tspace;public Car(String log, String mod, String ser, String box, String col, String outd,int doorn, long outn, double pri, double sell, double oi, int spe, double maxpo, double maxsp, double tim, double tsp)logo = log;model = mod;series = ser;boxN = box;color = col;outDate = outd;doorN = doorn;outN = outn;
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版道德與法治七年級上冊8.1《生命可以永恒嗎》聽課評課記錄
- 環(huán)境衛(wèi)生教育在學(xué)科教學(xué)中的融合
- 現(xiàn)代診斷技術(shù)在老年腎臟疾病中的應(yīng)用研究
- 粵人版地理七年級上冊《第一節(jié) 世界的人口》聽課評課記錄2
- 電商巨頭如何通過網(wǎng)路直打造全新的購物體驗研究報告
- 現(xiàn)代企業(yè)匯報中的信息整合與呈現(xiàn)
- 現(xiàn)代平面設(shè)計在醫(yī)療領(lǐng)域的應(yīng)用前景
- 環(huán)境科學(xué)教育在城市青少年中的推廣
- 電信行業(yè)中基于大數(shù)據(jù)的用戶行為分析與服務(wù)優(yōu)化決策工具
- 【基礎(chǔ)卷】同步分層練習(xí):五年級下冊語文第14課《刷子李》(含答案)
- 部編版《道德與法治》四年級下冊教材解讀與分析文檔
- 人教版八年級美術(shù)下冊全冊完整課件
- 暖通空調(diào)(陸亞俊編)課件
- 工藝評審報告
- 中國滑雪運動安全規(guī)范
- 畢業(yè)論文-基于51單片機的智能LED照明燈的設(shè)計
- 酒廠食品召回制度
- DG-TJ 08-2343-2020 大型物流建筑消防設(shè)計標(biāo)準(zhǔn)
- 中職數(shù)學(xué)基礎(chǔ)模塊上冊第一章《集合》單元檢測試習(xí)題及參考答案
- 化學(xué)魯科版必修一期末復(fù)習(xí)98頁PPT課件
- 《農(nóng)產(chǎn)品質(zhì)量安全檢測》PPT課件
評論
0/150
提交評論