Java實(shí)驗(yàn)項(xiàng)目二 面向?qū)ο缶幊?/h1>
上傳人:痛*** 文檔編號(hào):134763397 上傳時(shí)間:2022-08-13 格式:DOC 頁(yè)數(shù):16 大?。?19KB

收藏 版權(quán)申訴 舉報(bào) 下載
Java實(shí)驗(yàn)項(xiàng)目二 面向?qū)ο缶幊蘝第1頁(yè)
第1頁(yè) / 共16頁(yè)
Java實(shí)驗(yàn)項(xiàng)目二 面向?qū)ο缶幊蘝第2頁(yè)
第2頁(yè) / 共16頁(yè)
Java實(shí)驗(yàn)項(xiàng)目二 面向?qū)ο缶幊蘝第3頁(yè)
第3頁(yè) / 共16頁(yè)

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《Java實(shí)驗(yàn)項(xiàng)目二 面向?qū)ο缶幊獭酚蓵?huì)員分享,可在線閱讀,更多相關(guān)《Java實(shí)驗(yàn)項(xiàng)目二 面向?qū)ο缶幊蹋?6頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、Java實(shí)驗(yàn)項(xiàng)目二 面向?qū)ο缶幊? 第1部分 類(lèi)與對(duì)象 [實(shí)驗(yàn)?zāi)康腯 1、 熟悉Java面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思想。 2、 掌握類(lèi)與對(duì)象的定義及使用方法。 3、 掌握package語(yǔ)句與import語(yǔ)句的用法。 [實(shí)驗(yàn)要求] 1、 復(fù)習(xí)理論教學(xué)中所學(xué)的內(nèi)容。 2、 認(rèn)真進(jìn)行實(shí)驗(yàn)預(yù)習(xí),查閱參考書(shū),書(shū)寫(xiě)源程序,書(shū)寫(xiě)實(shí)驗(yàn)預(yù)習(xí)報(bào)告。 3、 認(rèn)真總結(jié)實(shí)驗(yàn)并書(shū)寫(xiě)實(shí)驗(yàn)報(bào)告。 [實(shí)驗(yàn)課時(shí)] 2學(xué)時(shí) [實(shí)驗(yàn)教學(xué)方式] 學(xué)生上機(jī)實(shí)驗(yàn),教師隨堂指導(dǎo)。 [實(shí)驗(yàn)內(nèi)容] 1、三角形、梯形和圓形的類(lèi)封裝:分別定義三角形、梯形和圓形類(lèi),要求每個(gè)類(lèi)中包含構(gòu)造方法、求周長(zhǎng)及面積的方法。最后在主方法中為三

2、角形、梯形和圓形類(lèi)創(chuàng)建對(duì)象并打印輸出各種圖形的周長(zhǎng)及面積。該程序的模板代碼如下:請(qǐng)將其補(bǔ)充完整并調(diào)試運(yùn)行。 AreaAndLength.java class Trangle { double sideA,sideB,sideC,area,length; boolean boo; public Trangle(double a,double b,double c) { 【代碼1】 //參數(shù)a,b,c分別賦值給sideA,sideB,sideC if(【代碼2】) //a,b,c構(gòu)成三角形的條件表達(dá)式 {

3、 【代碼3】 //給boo賦值。 } else { 【代碼4】 //給boo賦值。 } } double getLength() { 【代碼5】 //方法體,要求計(jì)算出length的值并返回 } public double getArea() { if(boo) { double p=(sideA+sideB+sideC)/2.0; area=Math.s

4、qrt(p*(p-sideA)*(p-sideB)*(p-sideC)) ; return area; } else { System.out.println("不是一個(gè)三角形,不能計(jì)算面積"); return 0; } } public void setABC(double a,double b,double c) { 【代碼6】 //參數(shù)a,b,c分別賦值給sideA,sideB,sideC if(【代碼7

5、】) //a,b,c構(gòu)成三角形的條件表達(dá)式 { 【代碼8】 //給boo賦值。 } else { 【代碼9】 //給boo賦值。 } } } class Lader { double above,bottom,height,area; Lader(double a,double b,double h) { 【代碼10】 //方法體,將參數(shù)a,b,c分別賦值給above,bottom,height } do

6、uble getArea() { 【代碼11】 //方法體,,要求計(jì)算出area返回 } } class Circle { double radius,area; Circle(double r) { 【代碼12】 //方法體 } double getArea() { 【代碼13】 //方法體,要求計(jì)算出area返回 } double getLength() { 【代碼14】 //getArea

7、方法體的代碼,要求計(jì)算出length返回 } void setRadius(double newRadius) { radius=newRadius; } double getRadius() { return radius; } } public class AreaAndLength { public static void main(String args[]) { double length,area; Cir

8、cle circle=null; Trangle trangle; Lader lader; 【代碼15】 //創(chuàng)建對(duì)象circle 【代碼16】 //創(chuàng)建對(duì)象trangle。 【代碼17】 //創(chuàng)建對(duì)象lader 【代碼18】 // circle調(diào)用方法返回周長(zhǎng)并賦值給length System.out.println("圓的周長(zhǎng):"+length); 【代碼19】 // circle調(diào)用方法返回面積并賦值給area System.out.pr

9、intln("圓的面積:"+area); 【代碼20】 // trangle調(diào)用方法返回周長(zhǎng)并賦值給length System.out.println("三角形的周長(zhǎng):"+length); 【代碼21】 // trangle調(diào)用方法返回面積并賦值給area System.out.println("三角形的面積:"+area); 【代碼22】 // lader調(diào)用方法返回面積并賦值給area System.out.println("梯形的面積:"+area); 【代碼23

10、】 // trangle調(diào)用方法設(shè)置三個(gè)邊,要求將三個(gè)邊修改為12,34,1。 【代碼24】 // trangle調(diào)用方法返回面積并賦值給area System.out.println("三角形的面積:"+area); 【代碼25】 // trangle調(diào)用方法返回周長(zhǎng)并賦值給length System.out.println("三角形的周長(zhǎng):"+length); } } 2、學(xué)習(xí)實(shí)例成員與類(lèi)成員的區(qū)別:按照下面模板代碼中的注釋信息將該程序補(bǔ)充完整并調(diào)試運(yùn)行。 Example.java class A {

11、 【代碼1】 //聲明一個(gè)float型實(shí)例變量a 【代碼2】 //聲明一個(gè)float型類(lèi)變量b,即static變量b void setA(float a) { 【代碼3】 //將參數(shù)a的值賦值給成員變量a } void setB(float b) { 【代碼4】 //將參數(shù)b的值賦值給成員變量b } float getA() { return a; }

12、 float getB() { return b; } void inputA() { System.out.println(a); } static void inputB() { System.out.println(b); } } public class Example { public static void main(String args[]) { 【代碼5】 //通過(guò)類(lèi)名

13、操作類(lèi)變量b,并賦值100 【代碼6】 //通過(guò)類(lèi)名調(diào)用方法inputB() A cat=new A(); A dog=new A(); 【代碼7】 //cat象調(diào)用方法setA(int a)將cat的成員a的值設(shè)置為200 【代碼8】 //cat調(diào)用方法setB(int b)將cat的成員b的值設(shè)置為400 【代碼9】 //dog象調(diào)用方法setA(int a)將dog的成員a的值設(shè)置為150 【代碼10】 //dog調(diào)用方法setB(in

14、t b)將dog的成員b的值設(shè)置為300 【代碼11】 //cat調(diào)用inputA()。 【代碼12】 //cat調(diào)用inputB()。 【代碼13】 //dog調(diào)用inputA()。 【代碼14】 //dog調(diào)用inputB()。 } } 3、使用package語(yǔ)句與import語(yǔ)句:上機(jī)調(diào)試下面程序,學(xué)會(huì)package與import語(yǔ)句的用法。 SquareEquation.java package tom.jiafei; public class SquareEquat

15、ion { double a,b,c; double root1,root2; boolean boo; public SquareEquation(double a,double b,double c) { this.a=a; this.b=b; this.c=c; if(a!=0) { boo=true; } else { boo=false;

16、 } } public void getRoots() { if(boo) { System.out.println("是一元2次方程"); double disk=b*b-4*a*c; if(disk>=0) { root1=(-b+Math.sqrt(disk))/(2*a); root2=(-b-Math.sqrt(disk))/(2

17、*a); System.out.printf("方程的根:%f,%f\n",root1,root2); } else { System.out.printf("方程沒(méi)有實(shí)根\n"); } } else { System.out.println("不是一元2次方程"); } } publ

18、ic void setCoefficient(double a,double b,double c) { this.a=a; this.b=b; this.c=c; if(a!=0) { boo=true; } else { boo=false; } } } SunRise.java import tom.jiafei.*; class SunRise {

19、 public static void main(String args[ ]) { SquareEquation equation=new SquareEquation(4,5,1); equation.getRoots(); equation.setCoefficient(-3,4,5); equation.getRoots(); } } [實(shí)驗(yàn)參考代碼] 1、【代碼1】: sideA=a; sideB=b; sideC=c; 【代碼2】: a+b>c&&a+c>

20、b&&c+b>a 【代碼3】: boo=true; 【代碼4】: boo=false; 【代碼5】: if(boo) { length=sideA+sideB+sideC; return length; } else { System.out.println("不是一個(gè)三角形,不能計(jì)算周長(zhǎng)"); return 0; } 【代碼6】:

21、 sideA=a;sideB=b;sideC=c; 【代碼7】: a+b>c&&a+c>b&&c+b>a 【代碼8】: boo=true; 【代碼9】: boo=false; 【代碼10】: above=a; bottom=b; height=h; 【代碼11】: area=(above+bottom)/2*height; return area; 【代碼12】: radius=r; 【代碼13】: return 3.14*radius*radius; 【代碼14】: return 3.14*2*radi

22、us; 【代碼15】: circle=new Circle(10); 【代碼16】: trangle=new Trangle(3,4,5); 【代碼17】: lader=new Lader(3,4,10); 【代碼18】: length=circle.getLength(); 【代碼19】: area=circle.getArea(); 【代碼20】: length=trangle.getLength(); 【代碼21】: area=trangle.getArea(); 【代碼22】: area=lader.getArea(); 【代碼23】: trangle.setABC(

23、12,34,1); 【代碼24】: area=trangle.getArea(); 【代碼25】: length=trangle.getLength(); 2、【代碼1】: float a; 【代碼2】: static float b; 【代碼3】: this.a=a; 【代碼4】: this.b=b; 【代碼5】: A.b=100; 【代碼6】: A.inputB(); 【代碼7】: cat.setA(200); 【代碼8】: cat.setB(400); 【代碼9】: dog.setA(150); 【

24、代碼10】:dog.setB(300); 【代碼11】:cat.inputA(); 【代碼12】:cat.inputB(); 【代碼13】:dog.inputA(); 【代碼14】:dog.inputB(); 第2部分 繼承與接口 [實(shí)驗(yàn)?zāi)康腯 1、掌握java 繼承中父類(lèi)及其子類(lèi)的定義方法。 2、掌握子類(lèi)重寫(xiě)父類(lèi)同名方法的方法。 3、掌握用法。 [實(shí)驗(yàn)要求] 1、 復(fù)習(xí)理論教學(xué)中所學(xué)的內(nèi)容。 2、 認(rèn)真進(jìn)行實(shí)驗(yàn)預(yù)習(xí),查

25、閱參考書(shū),書(shū)寫(xiě)源程序,書(shū)寫(xiě)實(shí)驗(yàn)預(yù)習(xí)報(bào)告。 3、 認(rèn)真總結(jié)實(shí)驗(yàn)并書(shū)寫(xiě)實(shí)驗(yàn)報(bào)告。 [實(shí)驗(yàn)課時(shí)] 2學(xué)時(shí) [實(shí)驗(yàn)教學(xué)方式] 學(xué)生上機(jī)實(shí)驗(yàn),教師隨堂指導(dǎo)。 [實(shí)驗(yàn)內(nèi)容] 1、定義父類(lèi)People,分別定義People類(lèi)的子類(lèi)ChinaPeople,AmericanPeople和BeijingPeople并分別重寫(xiě)父類(lèi)中的各個(gè)方法。最后在主方法中分別創(chuàng)建各子類(lèi)的對(duì)象并調(diào)用各自的方法打印輸出信息。該程序的模板代碼如下:請(qǐng)將其補(bǔ)充完整并調(diào)試運(yùn)行。 class People { protected double weight,height; public void speakHe

26、llo() { System.out.println("yayawawa"); } public void averageHeight() { height=173; System.out.println("average height:"+height); } public void averageWeight() { weight=70; System.out.println("average weight:"+weight); } } class

27、ChinaPeople extends People { 【代碼1】 //重寫(xiě)public void speakHello()方法,要求輸出類(lèi)似“你好,吃了嗎”這樣的 //漢語(yǔ)信息 【代碼2】 //重寫(xiě)public void averageHeight()方法,要求輸出類(lèi)似 //“中國(guó)人的平均身高:168.78厘米”這樣的漢語(yǔ)信息 【代碼3】 //重寫(xiě)public void averageWeight()方法, //要求輸出類(lèi)似“中國(guó)人的平均體重:65公斤”這樣的漢語(yǔ)信息 public void chinaG

28、ongfu() { 【代碼4】//輸出中國(guó)武術(shù)的信息,例如:"坐如鐘,站如松,睡如弓"等 } } class AmericanPeople extends People { 【代碼5】 //重寫(xiě)public void speakHello()方法,要求輸出類(lèi)似 //“How do you do”這樣的英語(yǔ)信息。 【代碼6】 //重寫(xiě)public void averageHeight()方法 【代碼7】 //重寫(xiě)public void averageWeight()方法 public void americanBox

29、ing() { 【代碼8】//輸出拳擊的信息,例如,“直拳”、“鉤拳”等 } } class BeijingPeople extends ChinaPeople { 【代碼9】 //重寫(xiě)public void speakHello()方法,要求輸出類(lèi)似“您好”這樣的漢語(yǔ)信息 【代碼10】 //重寫(xiě)public void averageHeight()方法 【代碼11】 //重寫(xiě)public void averageWeight()方法 public void beijingOpera() { 【

30、代碼12】//輸出京劇的信息 } } public class Example { public static void main(String args[]) { ChinaPeople chinaPeople=new ChinaPeople(); AmericanPeople americanPeople=new AmericanPeople(); BeijingPeople beijingPeople=new BeijingPeople(); chinaPeople.speakHello();

31、 americanPeople.speakHello(); beijingPeople.speakHello(); chinaPeople.averageHeight(); americanPeople.averageHeight(); beijingPeople.averageHeight(); chinaPeople.averageWeight(); americanPeople.averageWeight(); beijingPeople.averageWeight(); ch

32、inaPeople.chinaGongfu(); americanPeople.americanBoxing(); beijingPeople.beijingOpera() ; beijingPeople.chinaGongfu(); } } 2、讀懂下面模板代碼,按要求補(bǔ)充程序并調(diào)試運(yùn)行。掌握抽象類(lèi)的定義及其實(shí)現(xiàn)方法,學(xué)習(xí)上轉(zhuǎn)型對(duì)象的運(yùn)用方法。 abstract class Employee { public abstract double earnings(); } class YearWorker extends E

33、mployee { 【代碼1】 //重寫(xiě)earnings()方法 } class MonthWorker extends Employee { 【代碼2】 //重寫(xiě)earnings()方法。 } class WeekWorker extends Employee { 【代碼3】 //重寫(xiě)earnings()方法。 } class Company { Employee[] employee; double salaries=0; Company(Employee[] employee) { this.emplo

34、yee=employee; } public double salariesPay() { salaries=0; 【代碼4】 //計(jì)算salaries。 return salaries; } } public class HardWork { public static void main(String args[]) { Employee[] employee=new Employee[20]; for(int i=0;i

35、) { if(i%3==0) employee[i]=new WeekWorker(); else if(i%3==1) employee[i]=new MonthWorker(); else if(i%3==2) employee[i]=new YearWorker(); } Company company=new Company(employee); System.out.pr

36、intln("公司年工資總額:"+company.salariesPay()); } } 3、讀懂下面模板代碼,按要求補(bǔ)充程序并調(diào)試運(yùn)行。掌握接口的定義及其實(shí)現(xiàn)方法,學(xué)習(xí)接口回調(diào)的運(yùn)用方法。 interface ComputerWeight { public double computeWeight(); } class Television implements ComputerWeight { 【代碼1】 //實(shí)現(xiàn)computeWeight()方法。 } class Computer implements ComputerWeight { 【代碼

37、2】 //實(shí)現(xiàn)computeWeight()方法。 } class WashMachine implements ComputerWeight { 【代碼3】 //實(shí)現(xiàn)computeWeight()方法。 } class Car { ComputerWeight[] goods; double totalWeights=0; Car(ComputerWeight[] goods) { this.goods=goods; } public double getTotalWeights() { tota

38、lWeights=0; 【代碼4】 //計(jì)算totalWeights return totalWeights; } } public class Road { public static void main(String args[]) { ComputerWeight[] goodsOne=new ComputerWeight[50], goodsTwo=new ComputerWeight[22] ; for(int i=0;i

39、+) { if(i%3==0) goodsOne[i]=new Television(); else if(i%3==1) goodsOne[i]=new Computer(); else if(i%3==2) goodsOne[i]=new WashMachine(); } for(int i=0;i

40、 goodsTwo[i]=new Television(); else if(i%3==1) goodsTwo[i]=new Computer(); else if(i%3==2) goodsTwo[i]=new WashMachine(); } Car 大貨車(chē)=new Car(goodsOne); System.out.println("大貨車(chē)裝載的貨物重量:"+大貨車(chē).getTotalWeights()); Car 小貨車(chē)=ne

41、w Car(goodsTwo); System.out.println("小貨車(chē)裝載的貨物重量:"+小貨車(chē).getTotalWeights()); } } [參考答案] 1.答案: 【代碼1】: public void speakHello() { System.out.println("你好,吃飯了嗎?"); } 【代碼2】: public void averageHeight() { height=173; System.out.pr

42、intln("中國(guó)人的平均身高:"+height+"厘米"); } 【代碼3】: public void averageWeight() { weight=67.34; System.out.println("中國(guó)人的平均體重:"+weight+"公斤"); } 【代碼4】: System.out.println("坐如鐘,站如松,睡如弓"); 【代碼5】: public void speakHello() {

43、 System.out.println("How do You do"); } 【代碼6】: public void averageHeight() { height=188; System.out.println("Amerian Average height:"+height+" cm"); } 【代碼7】: public void averageWeight() { weight=80.23; System.out.println("Amerian Average

44、 weight:"+weight+" kg"); } 【代碼8】: System.out.println("直拳、鉤拳"); 【代碼9】: public void speakHello() { System.out.println("您好"); } 【代碼10】: public void averageHeight() { height=16; System.out.println("北京人的平均身高:"+height+"厘米"); } 【代

45、碼11】: public void averageWeight() { weight=6; System.out.println("北京人的平均體重:"+weight+"公斤"); } 【代碼12】: System.out.println("京劇術(shù)語(yǔ)"); 2.答案: 【代碼1】: public double earnings() { return 50000.456; } 【代碼2】: public double earnings() { return 1

46、2*2300; } 【代碼3】: public double earnings() { return 52*500; } 【代碼4】: for(int i=0;i

47、ouble computeWeight() { return 65.5; } 【代碼3】: public double computeWeight() { return 145; } 【代碼4】: for(int k=0;k

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!