Java面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)驗(yàn)指導(dǎo)模板代碼.doc_第1頁
Java面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)驗(yàn)指導(dǎo)模板代碼.doc_第2頁
Java面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)驗(yàn)指導(dǎo)模板代碼.doc_第3頁
Java面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)驗(yàn)指導(dǎo)模板代碼.doc_第4頁
Java面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)驗(yàn)指導(dǎo)模板代碼.doc_第5頁
已閱讀5頁,還剩166頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1 JAVA 面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)驗(yàn)指導(dǎo)代碼 內(nèi)容簡介內(nèi)容簡介 本書是 Java 面向?qū)ο蟪绦蛟O(shè)計(jì) 的配套實(shí)驗(yàn)指導(dǎo)和習(xí)題解答 本書的第一部分為 16 次上機(jī)實(shí)踐的 內(nèi)容 每次上機(jī)實(shí)踐由若干個(gè)實(shí)驗(yàn)組成 每個(gè)實(shí)驗(yàn)由相關(guān)知識(shí)點(diǎn) 實(shí)驗(yàn)?zāi)康?實(shí)驗(yàn)要求 實(shí)驗(yàn)?zāi)0?實(shí) 驗(yàn)知道和實(shí)驗(yàn)報(bào)告組成 在進(jìn)行實(shí)驗(yàn)之前 首先通過實(shí)驗(yàn)?zāi)康牧私鈱?shí)驗(yàn)要完成的關(guān)鍵主題 通過實(shí)驗(yàn)要 求知道本實(shí)驗(yàn)應(yīng)達(dá)到怎樣的標(biāo)準(zhǔn) 然后 完成實(shí)驗(yàn)?zāi)0?填寫實(shí)驗(yàn)報(bào)告 本書的第二部分為主教材的習(xí) 題參考解答 上機(jī)實(shí)踐上機(jī)實(shí)踐 1 Java 入門入門 實(shí)驗(yàn)實(shí)驗(yàn) 1 一個(gè)簡單的應(yīng)用程序一個(gè)簡單的應(yīng)用程序 5 程序模板 程序模板 Hello java public class Hello public static void main String args 代碼 1 命令行窗口輸出 你好 很高興學(xué)習(xí) Java A a new A a fA class A void fA 代碼 2 命令行窗口輸出 We are students 2 實(shí)驗(yàn)實(shí)驗(yàn) 2 教室 老師和學(xué)生教室 老師和學(xué)生 程序模板程序模板 請(qǐng)按模板要求 將 代碼 替換為 Java 程序代碼 ClassRoom java public class ClassRoom public static void main String args 代碼 1 命令行窗口輸出 教學(xué)活動(dòng)從教室開始 Teacher zhang new Teacher Student jiang new Student zhang introduceSelf jiang introduceSelf Teacher java public class Teacher void introduceSelf 代碼 2 命令行窗口輸出 我是張老師 Student java public class Student void introduceSelf 代碼 3 命令行窗口輸出 我是學(xué)生 名字是 獎(jiǎng)勵(lì) 上機(jī)實(shí)踐上機(jī)實(shí)踐 2 基本數(shù)據(jù)類型基本數(shù)據(jù)類型 實(shí)驗(yàn)實(shí)驗(yàn) 1 輸出輸出特殊邊傍的漢字特殊邊傍的漢字 程序模板程序模板 請(qǐng)按模板要求 將 代碼 替換為 Java 程序代碼 3 InputChinese java public class E public static void main String args char ch 研 zifu 0 int p 22920 count 5 position 0 System out printf 輸出 d 個(gè)石字傍的漢字 n count for char c ch c ch count c 代碼 1 c 進(jìn)行 int 型轉(zhuǎn)換據(jù)運(yùn)算 并將結(jié)果賦值給 position System out printf c d c position System out printf n 輸出 d 個(gè)女字傍的漢字 n count for int n p n p count n 代碼 2 n 做 char 型轉(zhuǎn)換運(yùn)算 并將結(jié)果賦值給 zifu System out printf c d zifu n 實(shí)驗(yàn)實(shí)驗(yàn) 2 輸入 輸出學(xué)生的基本信息輸入 輸出學(xué)生的基本信息 程序模板程序模板 請(qǐng)按模板要求 將 代碼 替換為 Java 程序代碼 InputMess java import java util Scanner public class InputMess public static void main String args Scanner reader new Scanner System in System out println 輸入姓名 回車確認(rèn) String name 代碼 1 從鍵盤為 name 賦值 System out println 輸入年齡 回車確認(rèn) byte age 代碼 2 從鍵盤為 age 賦值 System out println 輸入身高 回車確認(rèn) float height 代碼 3 從鍵盤為 height 賦值 System out printf 28s n 基本信息 System out printf 10s 10s 姓名 name System out printf 4s 4d 年齡 age System out printf 4s 4 2f 身高 height 4 實(shí)驗(yàn)實(shí)驗(yàn) 3 超大整數(shù)的加法超大整數(shù)的加法 程序模板程序模板 仔細(xì)閱讀模板代碼 完成實(shí)驗(yàn)后的練習(xí) HandleLargeNumber java public class HandleLargeNumber public static void main String args int a 0 9 9 7 9 4 5 6 7 2 3 4 5 6 4 7 8 9 8 7 6 9 int b 0 0 5 9 1 6 4 5 6 2 3 4 5 7 2 1 3 4 0 3 2 9 int c new int a length int i 0 result 0 k 0 for i 0 i a length i if a i 0 k i break for i k i a length i System out printf d a i System out printf n 加上 n for i 0 i b length i if b i 0 k i break for i k i 0 i result a i b i if result 10 c i result 10 a i 1 a i 1 1 else c i result System out printf n 等于 n 5 for i 0 i c length i if c i 0 k i break for i k i 0 代碼 4 將 speed d 賦值給 speed else speed 0 void setBulletAmount int m bulletAmount m int getBulletAmount return bulletAmount double getSpeed return speed void fire if bulletAmount 1 代碼 5 將 bulletAmount 1 賦值給 bulletAmount System out println 打出一發(fā)炮彈 else System out println 沒有炮彈了 無法開火 10 Fight java public class Fight public static void main String args Tank tank1 tank2 tank1 new Tank tank2 new Tank tank1 setBulletAmount 10 tank2 setBulletAmount 10 System out println tank1 的炮彈數(shù)量 tank1 getBulletAmount System out println tank2 的炮彈數(shù)量 tank2 getBulletAmount tank1 speedUp 80 tank2 speedUp 90 System out println tank1 目前的速度 tank1 getSpeed System out println tank2 目前的速度 tank2 getSpeed tank1 speedDown 15 tank2 speedDown 30 System out println tank1 目前的速度 tank1 getSpeed System out println tank2 目前的速度 tank2 getSpeed System out println tank1 開火 tank1 fire System out println tank2 開火 tank2 fire tank2 fire System out println tank1 的炮彈數(shù)量 tank1 getBulletAmount System out println tank2 的炮彈數(shù)量 tank2 getBulletAmount 實(shí)驗(yàn)實(shí)驗(yàn) 2 計(jì)算機(jī)與光盤計(jì)算機(jī)與光盤 程序模板程序模板 請(qǐng)按模板要求 將 代碼 替換為 Java 程序代碼 CD javaCD java public class CD int size int content public void setSize int size this size size content new int size 11 public int getSize return size public int getContent return content public void setContent int b int min Math min content length b length for int i 0 i min i content i b i Computer java public class Computer int data CD includeCD public void putCD CD cd includeCD cd int size includeCD getSize data new int size void copyToComputer int b includeCD getContent int min Math min data length b length for int i 0 i min i data i b i public void addData int m for int i 0 i data length i data i data i m void copyToCD includeCD setContent data void showData for int i 0 i data length i System out printf 3d data i 12 User java public class User public static void main String args CD dataCD new CD int b 1 2 3 4 5 6 7 8 dataCD setSize b length dataCD setContent b int a dataCD getContent System out println dataCD 上的內(nèi)容 for int i 0 i a length i System out printf 3d a i Computer computerIMB new Computer 代碼 1 computerIMB 調(diào)用 putCD CD cd 方法 將 dataCD 的引用傳遞給 cd System out println n 將 dataCD 的數(shù)據(jù)復(fù)制到計(jì)算機(jī) computerIMB 代碼 2 computerIMB 調(diào)用 copyToComputer 方法 System out println computerIMB 上的內(nèi)容 computerIMB showData int m 12 System out println ncomputerIMB 將每個(gè)數(shù)據(jù)增加 m computerIMB addData m System out println computerIMB 將增值后的數(shù)據(jù)復(fù)制到 CD dataCD 代碼 3 computerIMB 調(diào)用 copyToCD 方法 System out println dataCD 上的內(nèi)容 a dataCD getContent for int i 0 i a length i System out printf 3d a i 實(shí)驗(yàn)實(shí)驗(yàn) 3 家族的姓氏家族的姓氏 程序模板程序模板 請(qǐng)按模板要求 將 代碼 替換為 Java 程序代碼 FamilyPerson javaFamilyPerson java public class FamilyPerson static String surname String name public static void setSurname String s surname s 13 public void setName String s name s MainClass java public class MainClass public static void main String args 代碼 1 用類名 FamilyPerson 訪問 surname 并為 surname 賦值 李 FamilyPerson father sonOne sonTwo father new FamilyPerson sonOne new FamilyPerson sonTwo new FamilyPerson 代碼 2 father 調(diào)用 setName String s 并向 s 傳遞 向陽 sonOne setName 抗日 sonTwo setName 抗戰(zhàn) System out println 父親 father surname father name System out println 大兒子 sonOne surname sonOne name System out println 二兒子 sonTwo surname sonTwo name 代碼 3 father 調(diào)用 setSurName String s 并向 s 傳遞 張 System out println 父親 father surname father name System out println 大兒子 sonOne surname sonOne name System out println 二兒子 sonTwo surname sonTwo name 14 上機(jī)實(shí)踐上機(jī)實(shí)踐 5 繼承繼承與接口與接口 實(shí)驗(yàn)實(shí)驗(yàn) 1 中國人與美國人中國人與美國人 程序模板程序模板 請(qǐng)按模板要求 將 代碼 替換為 Java 程序代碼 People javaPeople java public class People protected double weight height public void speakHello System out println yayayaya public void averageHeight height 173 System out println average height height public void averageWeight weight 70 System out println average weight weight ChinaPeople java public class ChinaPeople extends People public void speakHello System out println 您好 public void averageHeight height 168 78 System out println 中國人的平均身高 height 厘米 代碼 1 重寫 public void averageWeight 方法 輸出 中國人的平均體重 65 公斤 public void chinaGongfu System out println 坐如鐘 站如松 睡如弓 15 AmericanPeople java public class AmericanPeople extends People 代碼 2 重寫 public void speakHello 方法 輸出 How do you do 代碼 3 重寫 public void averageHeight 方法 輸出 American s average height 176 cm public void averageWeight weight 75 System out println American s average weight weight kg public void americanBoxing System out println 直拳 鉤拳 組合拳 BeijingPeople java public class BeijingPeople extends ChinaPeople 代碼 4 重寫 public void averageHeight 方法 輸出 北京人的平均身高 172 5 厘米 代碼 5 重寫 public void averageWeight 方法 輸出 北京人的平均體重 70 公斤 public void beijingOpera System out println 花臉 青衣 花旦和老生 Example java public class Example public static void main String args ChinaPeople chinaPeople new ChinaPeople AmericanPeople americanPeople new AmericanPeople BeijingPeople beijingPeople new BeijingPeople chinaPeople speakHello americanPeople speakHello beijingPeople speakHello chinaPeople averageHeight americanPeople averageHeight beijingPeople averageHeight chinaPeople averageWeight americanPeople averageWeight beijingPeople averageWeight chinaPeople chinaGongfu americanPeople americanBoxing beijingPeople beijingOpera beijingPeople chinaGongfu 16 實(shí)驗(yàn)實(shí)驗(yàn) 2 銀行與利息銀行與利息 程序模板程序模板 請(qǐng)按模板要求 將 代碼 替換為 Java 程序代碼 Bank javaBank java public class Bank int savedMoney int year double interest double interestRate 0 29 public double computerInterest interest year interestRate savedMoney return interest public void setInterestRate double rate interestRate rate ConstructionBank java public class ConstructionBank extends Bank double year public double computerInterest super year int year double r year int year int day int r 1000 double yearInterest 代碼 1 super 調(diào)用隱藏的 computerInterest 方法 double dayInterest day 0 0001 savedMoney interest yearInterest dayInterest System out printf d 元存在建設(shè)銀行 d 年零 d 天的利息 f 元 n savedMoney super year day interest return interest BankOfDalian java public class BankOfDalian extends Bank double year public double computerInterest super year int year double r year int year 17 int day int r 1000 double yearInterest 代碼 2 super 調(diào)用隱藏的 computerInterest 方法 double dayInterest day 0 00012 savedMoney interest yearInterest dayInterest System out printf d 元存在大連銀行 d 年零 d 天的利息 f 元 n savedMoney super year day interest return interest SaveMoney java public class SaveMoney public static void main String args int amount 8000 ConstructionBank bank1 new ConstructionBank bank1 savedMoney amount bank1 year 8 236 bank1 setInterestRate 0 035 double interest1 puterInterest BankOfDalian bank2 new BankOfDalian bank2 savedMoney amount bank2 year 8 236 bank2 setInterestRate 0 035 double interest2 puterInterest System out printf 兩個(gè)銀行利息相差 f 元 n interest2 interest1 實(shí)驗(yàn)實(shí)驗(yàn) 3 面積之和面積之和 程序模板程序模板 請(qǐng)按模板要求 將 代碼 替換為 Java 程序代碼 Geometry java public abstract class Geometry public abstract double getArea TotalArea java public class TotalArea Geometry tuxing 18 double totalArea 0 public void setTuxing Geometry t tuxing t public double computerTotalArea 代碼 3 用循環(huán)語句讓 tuxing 的元素調(diào)用 getArea 方法 并將返回的值累加到 totalArea return totalArea Rect java public class Rect extends Geometry double a b Rect double a double b this a a this b b 代碼 1 重寫 getArea 方法 Circle java public class Circle extends Geometry double r Circle double r this r r 代碼 2 重寫 getArea 方法 MainClass java public class MainClass public static void main String args Geometry tuxing new Geometry 29 有 29 個(gè) Geometry 對(duì)象 for int i 0 i tuxing length i 29 個(gè) Geometry 對(duì)象分成兩類 if i 2 0 tuxing i new Rect 16 i 68 else if i 2 1 tuxing i new Circle 10 i TotalArea computer new TotalArea computer setTuxing tuxing 19 System out printf 各種圖形的面積之和 n f puterTotalArea 實(shí)驗(yàn)實(shí)驗(yàn) 4 歌手大賽歌手大賽 程序模板程序模板 請(qǐng)按模板要求 將 代碼 替換為 Java 程序代碼 CompurerAverage java public interface CompurerAverage 接口 public double average double x SongGame java public class SongGame implements CompurerAverage public double average double x int count x length double aver 0 temp 0 for int i 0 i count i for int j i j count j if x j x i temp x j x j x i x i temp for int i 1 i2 aver aver count 2 else aver 0 return aver School java public class School implements CompurerAverage 20 代碼 1 重寫 public double average double x 方法 返回?cái)?shù)組 x 的元素的算術(shù)平均 Estimator java public class Estimator 主類 public static void main String args double a 9 89 9 88 9 99 9 12 9 69 9 76 8 97 double b 56 55 5 65 50 51 5 53 6 70 49 66 62 46 CompurerAverage computer computer new SongGame double result 代碼 2 computer 調(diào)用 average double x 方法 將數(shù)組 a 傳遞給參數(shù) x System out printf n System out printf 歌手最后得分 5 3f n result computer new School result 代碼 3 computer 調(diào)用 average double x 方法 將數(shù)組 b 傳遞給參數(shù) x System out printf 學(xué)生平均體重 5 2f kg result 實(shí)驗(yàn)實(shí)驗(yàn) 5 天氣預(yù)報(bào)天氣預(yù)報(bào) 程序模板程序模板 請(qǐng)按模板要求 將 代碼 替換為 Java 程序代碼 WeatherState java public interface WeatherState 接口 public void showState Weather java public class Weather WeatherState state public void show state showState public void setState WeatherState s state s WeatherForecast java 21 public class WeatherForecast 主類 public static void main String args Weather weatherBeijing new Weather System out print n 今天白天 weatherBeijing setState new CloudyDayState weatherBeijing show System out print n 今天夜間 weatherBeijing setState new LightRainState weatherBeijing show System out print 轉(zhuǎn) weatherBeijing setState new HeavyRainState weatherBeijing show System out print n 明天白天 weatherBeijing setState new LightRainState weatherBeijing show System out print n 明天夜間 weatherBeijing setState new CloudyLittleState weatherBeijing show CloudyLittleState java public class CloudyLittleState implements WeatherState public void showState System out print 少云 有時(shí)晴 CloudyDayState java public class CloudyDayState implements WeatherState 代碼 1 重寫 public void showState HeavyRainState java public class HeavyRainState implements WeatherState 代碼 2 重寫 public void showState LightRainState java public class LightRainState implements WeatherState 代碼 3 重寫 public void showState 方法 22 上機(jī)實(shí)踐上機(jī)實(shí)踐 6 內(nèi)部類與異常類內(nèi)部類與異常類 實(shí)驗(yàn)實(shí)驗(yàn) 1 紅牛農(nóng)場紅牛農(nóng)場 程序模板程序模板 請(qǐng)按模板要求 將 代碼 替換為 Java 程序代碼 RedCowForm java public class RedCowForm String formName 代碼 1 用內(nèi)部類 RedCow 聲明對(duì)象 cow RedCowForm RedCowForm String s 代碼 2 創(chuàng)建 cow formName s public void showCowMess cow speak class RedCow 內(nèi)部類的聲明 String cowName 紅牛 int height weight price RedCow int h int w int p height h weight w price p void speak System out println cowName 身高 height cm 體重 weight kg System out println 生活在 formName MainClass java 23 public class MainClass public static void main String args RedCowForm form new RedCowForm 紅牛農(nóng)場 form showCowMess 實(shí)驗(yàn)實(shí)驗(yàn) 2 檢查危險(xiǎn)品檢查危險(xiǎn)品 程序模板程序模板 請(qǐng)按模板要求 將 代碼 替換為 Java 程序代碼 Goods java public class Goods boolean isDanger String name public void setIsDanger boolean boo isDanger boo public boolean isDanger return isDanger public void setName String s name s public String getName return name DangerException java public class DangerException extends Exception String message public DangerException message 危險(xiǎn)品 public void toShow System out print message Machine java 24 public class Goods boolean isDanger String name public void setIsDanger boolean boo isDanger boo public boolean isDanger Check java public class Check public static void main String args Machine machine new Machine String name 蘋果 炸藥 西服 硫酸 手表 硫磺 Goods goods new Goods name length 檢查 6 件物品 for int i 0 i name length i goods i new Goods if i 2 0 goods i setIsDanger false goods i setName name i else goods i setIsDanger true goods i setName name i for int i 0 i goods length i try machine checkBag goods i System out println goods i getName 檢查通過 catch DangerException e 代碼 2 e 調(diào)用 toShow 方法 System out println goods i getName 被禁止 25 上機(jī)實(shí)踐上機(jī)實(shí)踐 7 面向?qū)ο蟮膸讉€(gè)基本原則面向?qū)ο蟮膸讉€(gè)基本原則 實(shí)驗(yàn)實(shí)驗(yàn) 1 樓房的窗戶樓房的窗戶 程序模板程序模板 請(qǐng)認(rèn)真閱讀并調(diào)試模板給出的程序代碼 然后完成實(shí)驗(yàn)后的練習(xí) Window java public abstract class Window double width double height public abstract String getMaterial public void setWidth double w width w public void setHeight double h height h public double getHeight return height public double getWidth return width Building java public class Building int windowNumber 100 double width 109 98 double height 156 88 Window window Building window new Window windowNumber Building int n windowNumber n 26 window new Window windowNumber public void use Window w for int i 0 i window length i boolean boo Math abs w i getWidth width 1E 2 if boo window i w i public void showWindow for int i 0 i window length i if window i null System out println 第 i 1 扇窗戶是 window i getMaterial else System out println 該窗戶未安裝 WoodWindow java public class WoodWindow extends Window public String getMaterial return 木制窗戶 AluminumWindow java public class AluminumWindow extends Window public String getMaterial return 鋁合金窗戶 Application java public class Application public static void main String args Building schoolBuilding int m 7 schoolBuilding new Building m 27 Window w new Window m for int i 0 i m i if i 2 0 w i new WoodWindow w i setWidth 109 98 w i setHeight 156 89 else if i 2 1 w i new AluminumWindow w i setWidth 109 99 w i setHeight 156 87 schoolBuilding use w schoolBuilding showWindow 6 實(shí)驗(yàn)指導(dǎo) 實(shí)驗(yàn)指導(dǎo) 如果將實(shí)驗(yàn)要求中的 Window 類 Building 類以及 WoodWindow 和 AluminumWindow 類看作是一個(gè)小的開發(fā)框架 將 Application java 看作是使用該框架進(jìn)行應(yīng)用開發(fā)的用戶程 序 那么框架滿足 開 閉 原則 該框架相對(duì)用戶的需求就比較容易維護(hù) 因?yàn)?當(dāng)用戶 程序需要模擬老虎的聲音時(shí) 系統(tǒng)只需簡單的擴(kuò)展框架 即在框架中增加一個(gè) Window 的 子類 無須修改框架中的其他類 如圖 7 3 所示 7 實(shí)驗(yàn)后的練習(xí) 實(shí)驗(yàn)后的練習(xí) 在實(shí)驗(yàn)代碼的基礎(chǔ)上再增加一個(gè) Window 的子類 用于刻畫鐵制窗戶 并在主類的代 碼 Application java 中讓樓房使用鐵制窗戶 8 填寫實(shí)驗(yàn)報(bào)告 填寫實(shí)驗(yàn)報(bào)告 圖 7 3 滿足開 閉原則的框架 框架的核心部分 框架的可擴(kuò)展部分 WoodWindow WindowBuilding 用戶程序 AluminumWindow 28 實(shí)驗(yàn)編號(hào) 701 學(xué)生姓名 實(shí)驗(yàn)時(shí)間 教師簽字 實(shí)驗(yàn)效果評(píng)價(jià)實(shí)驗(yàn)效果評(píng)價(jià)ABCDE 模板完成情況 實(shí)驗(yàn)后的練習(xí)效果評(píng)價(jià)實(shí)驗(yàn)后的練習(xí)效果評(píng)價(jià)ABCDE 練習(xí)完成情況 總評(píng)總評(píng) 實(shí)驗(yàn)實(shí)驗(yàn) 2 搭建流水線搭建流水線 1 相關(guān)知識(shí)點(diǎn) 相關(guān)知識(shí)點(diǎn) 如果一個(gè)對(duì)象 a 組合了對(duì)象 b 那么對(duì)象 a 就可以委托對(duì)象 b 調(diào)用其方法 即對(duì)象 a 以組合的方式復(fù)用對(duì)象 b 的方法 通過組合對(duì)象來復(fù)用方法的優(yōu)點(diǎn)是 通過組合對(duì)象來復(fù) 用方法也稱 黑盒 復(fù)用 因?yàn)楫?dāng)前對(duì)象只能委托所包含的對(duì)象調(diào)用其方法 這樣一來 當(dāng)前對(duì)象所包含的對(duì)象的方法的細(xì)節(jié)對(duì)當(dāng)前對(duì)象是不可見的 另外 對(duì)象與所包含的對(duì)象 屬于弱耦合關(guān)系 因?yàn)?如果修改當(dāng)前對(duì)象所包含的對(duì)象的類的代碼 不必修改當(dāng)前對(duì)象 的類的代碼 1 實(shí)驗(yàn)?zāi)康?實(shí)驗(yàn)?zāi)康?本實(shí)驗(yàn)的目的是讓學(xué)生怎樣一個(gè)對(duì)象怎樣組合另一個(gè)對(duì)象 3 實(shí)驗(yàn)要求 實(shí)驗(yàn)要求 流水線的作用是 用戶只需將要處理的數(shù)據(jù)交給流水線 即依次讓流水線上的對(duì)象來 處理數(shù)據(jù) 比如 在歌手比賽時(shí) 只需將評(píng)委給出的分?jǐn)?shù)交給設(shè)計(jì)好的流水線 就可以得 到選手的最后得分 流水線上的第一個(gè)對(duì)象負(fù)責(zé)錄入裁判給選手的分?jǐn)?shù) 第二個(gè)對(duì)象負(fù)責(zé) 去掉一個(gè)最高分和一個(gè)最低分 最后一個(gè)對(duì)象負(fù)責(zé)計(jì)算出平均成績 具體要求如下 編寫 InputScore DelScore ComputerAver 和 Line 類 InputScore 類的對(duì)象負(fù)責(zé)錄入分?jǐn)?shù) InputScore 類組合了 DelScore 類的對(duì)象 DelScore 類的對(duì)象負(fù)責(zé)去掉一個(gè)最高分和一個(gè)最低分 DelScore 類組合了 ComputerAver 類的對(duì)象 ComputerAver 類的對(duì)象負(fù)責(zé)計(jì)算平均值 Line 類組合了 InputScore DelScoren ComputerAver 三個(gè)類的實(shí)例 在主類中用 Line 創(chuàng)建一個(gè)流水線對(duì)象 并將裁判的分?jǐn)?shù)交給給流水線 4 運(yùn)行效果示例 運(yùn)行效果示例 程序運(yùn)行效果如圖 7 4 所示 5 程序模板 程序模板 請(qǐng)認(rèn)真閱讀并調(diào)試模板給出的程序代碼 然后 完成實(shí)驗(yàn)后的練習(xí) 圖 7 4 流水線 29 MainClass java public class SingGame public static void main String args Line line new Line line givePersonScore InputScore java import java util Scanner public class InputScore DelScore del InputScore DelScore del this del del public void inputScore System out println 請(qǐng)輸入評(píng)委數(shù) Scanner read new Scanner System in int count read nextInt System out println 請(qǐng)輸入各個(gè)評(píng)委的分?jǐn)?shù) double a new double count for int i 0 i count i a i read nextDouble del doDelete a DelScore java public class DelScore ComputerAver computer DelScore ComputerAver computer puter computer public void doDelete double a java util Arrays sort a 數(shù)組 a 從小到大排序 System out print 去掉一個(gè)最高分 a a length 1 System out print 去掉一個(gè)最低分 a 0 double b new double a length 2 for int i 1 i a length 1 i 去掉最高分和最低分 b i 1 a i 30 computer giveAver b ComputerAver java public class ComputerAver public void giveAver double b double sum 0 for int i 0 i b length i sum sum b i double aver sum b length System out println 選手最后得分 aver Line java public class Line InputScore one DelScore two ComputerAver three Line three new ComputerAver two new DelScore three one new InputScore two public void givePersonScore one inputScore 6 實(shí)驗(yàn)指導(dǎo) 實(shí)驗(yàn)指導(dǎo) 一個(gè)類的成員變量可以是 Java 允許的任何數(shù)據(jù)類型 因此 一個(gè)類可以把對(duì)象作為自 己的成員變量 如果用這樣的類創(chuàng)建對(duì)象 那么該對(duì)象中就會(huì)有其它對(duì)象 也就是說該對(duì) 象將其他對(duì)象作為自己的組成部分 這就是人們常說的 Has A 或者說該對(duì)象是由幾個(gè)對(duì) 象組合而成 7 實(shí)驗(yàn)后的練習(xí) 實(shí)驗(yàn)后的練習(xí) 在流水線上在增加一

溫馨提示

  • 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)論