Download presentation
Presentation is loading. Please wait.
Published by伟秃 姜 Modified 7年之前
1
601. 汽車零件設計 題目前後相關,請閱讀完這個題組的五個題目之後再作答,每題答案皆能獨立執行。請將需要或共同使用的程式片段撰寫成函式,以供在類別中呼叫使用,避免在不同的類別中重複寫相同的程式碼,否則將酌量扣分。 1
2
601. 汽車零件設計 題目一: 題目說明:請開啟JPD06_1.java,設計「汽車零件設計」程式。為汽車零件設計一個類別架構,請依下列題意完成作答。將JPD06_1.java內的class JPD06_1修改為class JPA06_1,將檔案另存為JPA06_1.java後編譯為JPA06_1.class,所有題目中有使用到的類別也請編譯後一併儲存。
3
601. 汽車零件設計 設計說明: 請撰寫一個 Engine(引擊) 類別。1600cc引擎的成本是20000元, 2000cc引擎的成本是25000元。請製造一個1600CC的引擎及一個2000cc的引擎呼叫其getCost(成本)方法,印出其傳回值。 請撰寫一個 Aircond(空調) 類別。Auto空調的成本是12000元, Manual空調的成本是10000元。請製造一個Auto的空調及一個 Manual的空調,呼叫其getCost(成本)方法,印出其傳回值。 請撰寫一個Sound(音響) 類別。一個音響的成本是2000元,請製造一個Sound物件、呼叫其getCost方法,並將其傳回值印出。 3
4
Screen Dump 1600 cost: 20000 2000 cost: 25000 Auto: 12000
Manual: 10000 Sound: 2000 4
5
public static void main(String args[]){ Engine e1 = new Engine(1600);
... public class JPD06_1 { public static void main(String args[]){ Engine e1 = new Engine(1600); System.out.println("1600 cost: " + e1.getCost()); Engine e2 = new Engine(2000); System.out.println("2000 cost: " + e2.getCost()); Aircond a1 = new Aircond("auto"); System.out.println("Auto: " + a1.getCost()); Aircond a2 = new Aircond("manual"); System.out.println("Manual: " + a2.getCost()); Sound s1 = new Sound(); System.out.println("Sound: " + s1.getCost()); } 5
6
601. 汽車零件設計 題目二: 題目說明:請開啟JPD06_2.java,使用第一小題的零件開一家「汽車工廠」。請為這家汽車工廠設計一個Car(汽車)類別架構,以計算車子的成本與售價,請依下列題意完成作答。將JPD06_2.java內的class JPD06_2修改為class JPA06_2,將檔案另存為JPA06_2.java後編譯為JPA06_2.class,所有題目中有使用到的類別也請編譯後一併儲存 6
7
601. 汽車零件設計 設計說明 這家汽車工廠生產BasicCar (基本型)及LuxCar(豪華車款)兩種汽車。:
基本型的成本是:1600cc引擎成本 + Manual空調成本 元 豪華車款的成本是:2000cc引擎成本 + Auto空調成本 元 這兩型的售價都是成本的1.2倍。 分別計算兩款車的cost(成)與price(售價),顯示如下頁所示。 7
8
Screen Dump Basic cost: 35000.0 Basic price: 42000.0 Lux cost: 47000.0
Lux price: 8
9
public static void main(String args[]){
... public class JPD06_2 { public static void main(String args[]){ BasicCar bc = new BasicCar(1600,“Manual"); System.out.println("Basic cost: " + bc.cost()); System.out.println("Basic price: " + bc.price()); LuxCar lc = new LuxCar(2000,“Auto"); System.out.println("Lux cost: " + lc.cost()); System.out.println("Lux price: " + lc.price()); } 9
10
601. 汽車零件設計 題目三: 題目說明:請開啟JPD06_3.java,這家工廠決定增加一「超級豪華型車款」,請依下列題意完成作答。將JPD06_3.java內的class JPD06_3修改為class JPA06_3,將檔案另存為JPA06_3.java後編譯為JPA06_3.class,所有題目中有使用到的類別也請編譯後一併儲存 10
11
601. 汽車零件設計 設計說明 SLuxCar(超級豪華型車款)的成本 = 豪華型的成本 + 音響成本
也請為這家工廠增加一個方法,此方法能夠比較SLuxCar (超級豪華型車款)是否比LuxCar (豪華型車款)的售價較貴。 顯示執行畫面如下頁所示 11
12
Screen Dump SLux cost: 49000.0 SLux price: 58800.0
Is SLuxCar more expensive than LuxCar? Yes!! 12
13
public static void main(String args[]) {
... public class JPD06_3 { public static void main(String args[]) { SLuxCar llc = new SLuxCar(2000,“Auto"); System.out.println("SLux cost: " + llc.cost()); System.out.println("SLux price: " + llc.price()); LuxCar lc = new LuxCar(2000,"auto"); System.out.println("Is llc more expensive than lc? " + llc.expensive(lc)); } 13
14
601. 汽車零件設計 題目四: 題目說明:請開啟JPD06_4.java,建立一個Warehouse(倉庫)類別,讀取data.txt內,將此三台車放入此倉庫中,請依下列題意完成作答。將JPD06_4.java內的class JPD06_4修改為class JPA06_4,將檔案另存為JPA06_4.java後編譯為JPA06_4.class,所有題目中有使用到的類別也請編譯後一併儲存 14
15
601. 汽車零件設計 設計說明 請建立一個 Warehouse(倉庫) 類別,讀取 data.txt 內三台車子的資料, 每一行即代表一台車,將此三台車放入此倉庫中。 data.txt 內有三筆資料,分別是代表 B (Basic 基本款)、L (LuxCar 豪華 型車款)、S (SLuxCar 超級豪華型車款) 的成本,超級豪華車款的成本需再加 上音響成本,內容如下: 車款 引擎(cc) 空調 B 1600 Manual L 2000 Auto S 15
16
601. 汽車零件設計 一個倉庫物件內有一個 ArrayList 物件,這個 ArrayList 可以儲存車子。
請計算這個倉庫內,此三台車的總庫存成本及總售價 (成本的 1.2倍), 顯示如執行畫面如下頁。 若找不到data.txt 檔案,則顯示【File not found!】。 16
17
Screen Dump Total cost: Total price: 17
18
public static void main(String args[]) { Scanner sc = null; try {
... public class JPD06_4 { public static void main(String args[]) { Scanner sc = null; try { sc = new Scanner(new File("data.txt")); } catch (FileNotFoundException e) { System.out.println ("File not found!"); // Stop program if no file found System.exit (0); } Wharehouse wh = new Wharehouse(); while (sc.hasNext()) { String model = sc.next(); int cc = sc.nextInt(); String trans = sc.next(); switch (model.charAt(0)) { System.out.println("Total cost: " + wh.TotalCost()); System.out.println("Total price: " + wh.TotalPirce()); 18
19
601. 汽車零件設計 題目五: 題目說明:請開啟JPD06_5.java,請由wrongdata.txt讀入車子的資料,然後放入一個由Warehouse(倉庫)類別製造的倉庫,請依下列題意完成作答。將JPD06_5.java內的class JPD06_5修改為class JPA06_5,將檔案另存為JPA06_5.java後編譯為JPA06_5.class,所有題目中有使用到的類別也請編譯後一併儲存 19
20
601. 汽車零件設計 設計說明 請建立一個 Warehouse(倉庫) 類別,讀取wrongdata.txt內三台車子的資料, 每一行即代表一台車,將此三台車放入此倉庫中。 wrongdata.txt內有四筆資料,分別是代表 B (Basic 基本款)、L (LuxCar 豪 華型車款)、S (SLuxCar 超級豪華型車款) 的成本,超級豪華車款的成本需 再加上音響成本,最後一筆為不正確的資料 (沒有 X 款的車型),內容如下: 車款 引擎(cc) 空調 B 1600 Manual L 2000 Auto S X 20
21
601. 汽車零件設計 一個倉庫物件內有一個 ArrayList 物件,這個 ArrayList 可以儲存車子。
wrongdata.txt有不正確的資料(沒有 X 款的車型),請使用自定例外類別處理,將不正確的資料印出。並計算這個倉庫內的總庫存成本及總售價 (成本的 1.2倍), 顯示執行畫面如下頁所示。 若找不到wrongdata.txt 檔案,則顯示【File not found!】。 21
22
Screen Dump Incorrect input data: X 2000 manual Total cost: 131000.0
Total price: 22
23
public static void main(String args[]) { Scanner sc = null; try {
... public class JPD06_5 { public static void main(String args[]) { Scanner sc = null; try { sc = new Scanner(new File("wrongdata.txt")); } catch (FileNotFoundException e) { System.out.println ("File not found!"); // Stop program if no file found System.exit (0); } Wharehouse wh = new Wharehouse(); System.out.println("Total cost: " + wh.TotalCost()); System.out.println("Total price: " + wh.TotalPirce()); 23
24
602.電腦零件設計 題目前後相關,請閱讀完這個題組的五個題目之後再作答,每題答案皆能獨立執行。請將需要或共同使用的程式片段撰寫成函式,以供在類別中呼叫使用,避免在不同的類別中重複寫相同的程式碼,否則將酌量扣分。 24
25
602.電腦零件設計-1 請撰寫一個LCD類別。10吋的成本是2000元,15吋的成本是2500元,17吋的成本是3000元。
請撰寫一個CPU類別。速度1.66的成本是6000元,速度2.2的成本是8000元,速度2.4的成本是11000元。 請撰寫一個HD類別。120G的成本是2400元,160G的成本 是2800元。 請使用以上的零件,撰寫以下的類別。 請寫一個MiniNote類別。一個MiniNote類別的筆電 有一個10吋的LCD,一個速度1.66的CPU及一個120G的HD。 25
26
602.電腦零件設計-1 請寫一個Note15類別。一個Note15類別的筆電有一個 15吋的LCD,一個速度2.2的CPU及一個160G的HD。 這兩型電腦的成本是其零件成本的1.4倍。定價則是 其零件成本的2倍。 請分別製造一個MinitNote及一個Note15, 呼叫其getCost方法及getPrice方法,印出其成本及定價的傳回值。 26
27
602.電腦零件設計-1 MiniNote cost:14559.999999999998, price:20800.0
27
28
602.電腦零件設計-2 題目說明:請開啟JPD06_2.java,使用第一小題的零件組裝「桌上型電腦」。這家電腦公司想要計算電腦的成本與售價,請依下列題意完成作答。將JPD06_2.java內的class JPD06_2修改為class JPA06_2,將檔案另存為JPA06_2.java後編譯為JPA06_2.class,所有題目中有使用到的類別也請編譯後一併儲存
29
602.電腦零件設計-2 請寫一個PC類別,一個PC類別的桌上型電腦有一個速度2.4的CPU 及一個160G的HD。製造一個PC類別的桌上型電腦的成本是「零件成本」 加500,售價則為「零件成本」的1.8倍。 另請寫一個MultiPC類別,一個MultiPC的超級電腦,可以有多顆 2.4G的CPU及多顆160G的HD。 MultiPC的成本為其「零件成本」 的1.2倍,售價則為「零件成本」的1.8倍。 請製造一個PC類別的桌上型電腦,一個2顆CPU及4顆HD的MultiPC 及一個4顆CPU及8顆HD的MultiPC. 分別呼叫其getCost方法及getPrice方法,印出其傳回值。 29
30
602.電腦零件設計-2 PC cost:14300.0, price:24840.0
MultiPC: 2CPU, 4HD, cost: , price: MultiPC: 4CPU, 8HD, cost: , price: 30
31
602.電腦零件設計-3 請比較一個Note15的筆電和一個PC類別的桌上型電腦何者售價較貴。
請新增一個名為 AllPC 的類別,於此類別中撰寫isExpensive方法, 此方法能夠比較何者的售價較貴,並傳回一個布林值。 顯示其執行結果如下頁 31
32
602.電腦零件設計-3 Note15 is more expensive than PC 32
33
602.電腦零件設計-4 請使用LinkedList為這家工廠寫一個Order類別。 此筆訂單的資料如下:
MiniNote: 1台 Note15: 1台 PC: 1台 請寫一revenue方法,輸出此訂單的總收入。 33
34
602.電腦零件設計-4 34
35
602.電腦零件設計-5 此筆訂單資料如下: MiniNote 1台 Note15 1台 PC 1台 利潤 =收入-成本(非零件總成本)
如果此次累積利潤超過20000,則印出信息[This order exceeds 20000:xx] ,將累積利潤代入xx 35
36
602.電腦零件設計-5 This order exceeds 20000: 36
37
603. 冰品計價系統 題目前後相關,請閱讀完這個題組的五個題目之後再作答,每題答案皆能獨立執行。請將需要或共同使用的程式片段撰寫成函式,以供在類別中呼叫使用,避免在不同的類別中重複寫相同的程式碼,否則將酌量扣分。 37
38
603.冰品計價系統-1 題目一: 題目說明:請開啟JPD06_1.java,設計「冰品計價系統」程式。避免在不同的類別中重複寫相同的程式碼,請依下列題意完成作答。將JPD06_1.java內的class JPD06_1修改為class JPA06_1,將檔案另存為JPA06_1.java後編譯為JPA06_1.class,所有題目中有使用到的類別也請編譯後一併儲存。
39
603.冰品計價系統-1 設計說明: 請為冰品的每個原料Apple(蘋果)、Banana (香蕉)、Pudding(布丁)、Strawberry(草莓)、Mango(芒果)設計類別及繼承的架構,並提供getCost(成本), getPrice(售價)二個方法。 每種類原料的成本與售價如下表: 類別名稱 Cost(成本) Price(售價) Apple 6.0 10.0 Banana 2.0 5.0 Pudding 3.0 Strawberry 1.0 Mango 39
40
603.冰品計價系統-1 請各產生一Apple, Banana, Pudding之物件,並印出它們的cost及 price。
執行結果如下頁所示: 40
41
603.冰品計價系統-1 Apple cost: 6.0 Apple price: 10.0 Banana cost: 2.0
Banana price: 5.0 Pudding cost: 3.0 Pudding price: 5.0
42
603.冰品計價系統-2 題目二: 題目說明:請開啟JPD06_2.java,該冰店提供A套餐與B套餐兩類產品可供客人選擇配料:請依下列題意完成作答。將JPD06_2.java內的class JPD06_2修改為class JPA06_2,將檔案另存為JPA06_2.java後編譯為JPA06_2.class,所有題目中有使用到的類別也請編譯後一併儲存。
43
603.冰品計價系統-2 設計說明: 該冰店提供A與B兩類套餐產品。 A套餐可任點兩種原料,B套餐可任點三種原料。
每種類原料的成本與售價如下表: 類別名稱 Cost(成本) Price(售價) Apple 6.0 10.0 Banana 2.0 5.0 Pudding 3.0 Strawberry 1.0 Mango 43
44
603.冰品計價系統-2 某客人點了以下的產品,請利用getPirce(價格)函式取得price,利用getProfit(利潤)取得profit,並印出以下三種產品的price及profit。 利潤 = 總收入 – 總成本 。 a. A t1 = new Two(new Apple(), new Banana()); b. B t2 = new Three(new Banana(), new Pudding(), new Strawberry()); c. B t3 = new Three(new Apple(), new Banana(), new Mango()); 執行結果如下頁所示: 44
45
603.冰品計價系統-2 t1 price: 15.0 t1 profit: 7.0 t2 price: 15.0
46
603.冰品計價系統-3 題目三: 題目說明:請開啟JPD06_3.java,該冰店提供C套餐與D套餐兩類產品,此兩款是除了可分別選擇兩種料及三種類外,「冰」的份量都加倍,請依下列題意完成作答。將JPD06_3.java內的class JPD06_3修改為class JPA06_3,將檔案另存為JPA06_3.java後編譯為JPA06_3.class,所有題目中有使用到的類別也請編譯後一併儲存。
47
603.冰品計價系統-3 設計說明: 該冰店提供C套餐與D套餐兩類產品。C套餐可任點兩種原料,冰的份量加倍:D套餐可任點三種原料,冰的份量加倍。 每種類原料的成本與售價如下表: 類別名稱 Cost(成本) Price(售價) Apple 6.0 10.0 Banana 2.0 5.0 Pudding 3.0 Strawberry 1.0 Mango 47
48
603.冰品計價系統-3 C套餐與D套餐的冰加倍,成本一律增加2元,銷售的價格則訂為「原料總售價」的1.5倍。例如:C套餐選擇Apple及Mango,成本為 =10元,售價為( )*1.5=22.5元 某客人點了以下的產品,請取得下列三種冰加倍的產品,分別印出其cost(成本)、price(價格)及profit(利潤)。 利潤 = 總收入 – 總成本 。 a. C t1 = new DoubleTwo(new Apple(), new Banana()); b. D t2 = new DoubleThree(new Banana(), new Pudding(), new Strawberry()); c. D t3 = new DoubleThree(new Apple(), new Banana(), new Mango()); 執行結果如下頁所示: 48
49
603.冰品計價系統-3 t1 cost: 10.0 t1 price: 22.5 t1 profit: 12.5 t2 cost: 8.0
50
603.冰品計價系統-4 題目四: 題目說明:請開啟JPD06_4.java,新增外送服務,請依下列題意完成作答。將JPD06_4.java內的class JPD06_4修改為class JPA06_4,將檔案另存為JPA06_4.java後編譯為JPA06_4.class,所有題目中有使用到的類別也請編譯後一併儲存。
51
603.冰品計價系統-4 設計說明: 請使用LinkedList另寫一個類別支援該店的外送服務。
外送服務可以計算一次外送服務的總售價、總成本及總利潤。 請為以下兩次的外送,計算其總售價、總成本及總利潤。 a. 外送1(冰品皆為一般,無加倍) a-1:Apple, Banana a-2:Banana, Pudding, Strawberry b. 外送2 (冰品皆為一般,無加倍) b-1:Apple, Banana, Mango b-2:Apple, Banana b-3:Banana, Pudding, Strawberry b-4:Apple, Banana, Mango 51
52
603.冰品計價系統-4 a Price: 30.0 a Cost: 14.0 a Profit: 16.0 b Price: 70.0
b Cost: 34.0 b Profit: 36.0
53
603.冰品計價系統-5 題目五: 題目說明:請開啟JPD06_5.java,請接續題目四的外送服務,請依下列題意完成作答。將JPD06_5.java內的class JPD06_5修改為class JPA06_5,將檔案另存為JPA06_5.java後編譯為JPA06_5.class,所有題目中有使用到的類別也請編譯後一併儲存。
54
603.冰品計價系統-5 設計說明: 請使用LinkedList另寫一個類別支援該店的外送服務。
外送服務可以計算一次外送服務的總售價、總成本及總利潤。 請為以下兩次的外送,計算其總售價、總成本及總利潤。 a. 外送1 (冰品皆為一般,無加倍) a-1:Apple, Banana a-2:Banana, Pudding, Strawberry a-3:Banana, Pudding, Strawberry a-4: Apple, Banana , Mango b. 外送2 (冰品皆為一般,無加倍) b-1:Apple, Banana, Mango b-2:Apple, Banana 54
55
603.冰品計價系統-5 請使用自定例外類別處理,將總額不到50元的外送,以Exception 印出錯誤信息【Not enough order for carry out:】及目前的外送金額 。 執行結果如下頁所示: 55
56
603.冰品計價系統-5 a Price: 65.0 a Cost: 30.0 a Profit: 35.0 b Price: 35.0
b Cost: 18.0 b Profit: 17.0 Not enough order for carry out: 35.0
57
604. 銀行理財帳戶 題目前後相關,請閱讀完這個題組的五個題目之後再作答,每題答案皆能獨立執行。請將需要或共同使用的程式片段撰寫成函式,以供在類別中呼叫使用,避免在不同的類別中重複寫相同的程式碼,否則將酌量扣分。 57
58
604.銀行理財帳戶-1 題目一: 題目說明:請開啟JPD06_1.java,設計「銀行理財帳戶」程式。銀行共設有四種帳戶,需計算目前存款,請依下列題意完成作答。將JPD06_1.java內的class JPD06_1修改為class JPA06_1,將檔案另存為JPA06_1.java後編譯為JPA06_1.class,所有題目中有使用到的類別也請編譯後一併儲存。
59
604.銀行理財帳戶-1 設計說明: 銀行共設有四種帳戶,分別是「定期存款」帳戶、 「活期存款」帳戶、「優惠存款」帳戶及「基金存款」帳戶。 前三種帳戶都有開戶人、年利率及帳戶餘額的資料。 每個帳戶都可以存款(deposit)、提款(withdraw)、 查詢餘額(balance)、加計利息(addInterest)。 定期存款帳戶(DepositAccount)的年利率分1、2、3年期,各為3% 、4% 、5%。 活期存款帳戶(FreeAccount)的年利率為2%。 優惠存款帳戶(SpecialAccount)的利率與活期存款同為2%,但優惠存款帳戶餘額若保持在10000元以上則買賣基金可免手續費 (傳回布林值代表可/不可)。 59
60
604.銀行理財帳戶-1 基金存款帳戶(FundAccount)的必要資料有:開戶人、基金名稱、單位數、一活期存款戶、一優惠存款戶。買入的手續費為買入金額的2%,賣出的手續費為賣出金額的2%。基金帳戶可以買、賣、查詢餘額,這幾個功能均需傳入基金目前的價格。買賣基金由活期存款戶轉帳。 請先為peter開設一定期存款帳戶(2年期,存入5000元)、 活期存款帳戶(存入20000元)、優惠存款帳戶)存入10000元)。 並加總一年的利息後,再查詢各帳戶的餘額,依序列出「定期存款」、「活期存款」、「優惠存款」目前的餘額。 接著再為peter新開設一基金存款帳戶,並買入A基金15000元,價格為每單位500元。於三天後該基金跌價為300元,請計算目前基金的餘額,及peter活期存款戶的餘額,請接續7.列出「基金現額」以及「活期餘額」 60
61
604.銀行理財帳戶-1 定期存款:5200 活期存款:20400 優惠存款:10200 基金現額:9000 活期餘額:5400
62
604.銀行理財帳戶-2 題目二: 題目說明:請開啟JPD06_2.java,Peter想要再次購買基金,請依下列題意完成作答。將JPD06_2.java內的class JPD06_2修改為class JPA06_2,將檔案另存為JPA06_2.java後編譯為JPA06_2.class,所有題目中有使用到的類別也請編譯後一併儲存。
63
604.銀行理財帳戶-2 設計說明: Peter由優惠存款帳戶提款5000元。並再次購買A基金2000元,價格為每單位300元
63
64
604.銀行理財帳戶-2 基金餘額:11000 售出前活期餘額:3360 售出後活期餘額:17733
65
604.銀行理財帳戶-3 題目三: 題目說明:請開啟JPD06_3.java,該銀行為服務客戶增設網路銀行帳戶,請依下列題意完成作答。將JPD06_3.java內的class JPD06_3修改為class JPA06_3,將檔案另存為JPA06_3.java後編譯為JPA06_3.class,所有題目中有使用到的類別也請編譯後一併儲存。
66
604.銀行理財帳戶-3 設計說明: 該銀行為服務客戶增設網路銀行帳戶,網路銀行帳戶含有某客戶之所有帳戶的資料。
請為Peter開立一網路銀行帳戶,並撰寫能夠計算Peter所有存款帳戶(不含基金)的總餘額的方法。 66
67
604.銀行理財帳戶-3 存款總額:28133
68
604.銀行理財帳戶-4 題目四: 題目說明:請開啟JPD06_4.java,Peter想要購 買多筆基金,請依下列題意完成作答。將JPD06_4.java內的class JPD06_4修改為class JPA06_4,將檔案另存為JPA06_4.java後編譯為JPA06_4.class,所有題目中有使用到的類別也請編譯後一併儲存。
69
604.銀行理財帳戶-4 設計說明: Peter決定買入B基金2000元,買價每單位50元;C基金5000元,買價每單位30元。
請查詢Peter之活期存款帳戶的餘額及A、B、C三個基金的單位數。 基金B的價格現在漲到100,Peter想要查詢基金B的餘額。請使用HashMap為Perter建立一MultiFund(多筆基金)類別, HashMap的 key 值為基金名稱 (String),value值為 FundAccount, 使其代入 B 基金後,可輸出目前 B 基金的金額。 69
70
604.銀行理財帳戶-4 活期餘額:10593 A:0.0 B:40.0 C: B 基金餘額: 4000
71
604.銀行理財帳戶-5 題目五: 題目說明:請開啟JPD06_5.java,接續題目四的基金購買,請依下列題意完成作答。將JPD06_5.java內的class JPD06_5修改為class JPA06_5,將檔案另存為JPA06_5.java後編譯為JPA06_5.class,所有題目中有使用到的類別也請編譯後一併儲存。
72
604.銀行理財帳戶-5 設計說明: 請使用Exception撰寫一功能:當任何一個帳戶之餘額低於0時, 不可提款,且印出警告信息。
Peter再次購買A基金14000元, 價格為每單位300元。 72
73
604.銀行理財帳戶-5 peter:提款金額: 大於存款餘額: 10593
74
605. 成績資訊系統 題目前後相關,請閱讀完這個題組的五個題目之後再作答,每題答案皆能獨立執行。請將需要或共同使用的程式片段撰寫成函式,以供在類別中呼叫使用,避免在不同的類別中重複寫相同的程式碼,否則將酌量扣分。 74
75
605. 成績資訊系統-1 題目一: 題目說明:請開啟JPD06_1.java,為資訊管理系設計「成績資訊系統」程式,計算學生的選修課及總平均成績,請依下列題意完成作答。將JPD06_1.java內的class JPD06_1修改為class JPA06_1,將檔案另存為JPA06_1.java後編譯為JPA06_1.class,所有題目中有使用到的類別也請編譯後一併儲存。
76
605. 成績資訊系統-1 設計說明: MIS有IT與IM兩個學程。MIS學生的共同必修課為 chi、eng。IT的選修課有:pl, db, ds;IM 的選修課有:econ, acct。 學生總平均成績為必修課平均成績佔40%,選修課平均成績佔60%,計算公式是:必修課的平均成績 * 選修課的平均成績 * 0.6。 請宣告兩位學生John以及Paul的資料,計算其「選修課的平均成績」及「總平均成績」。 學程 共同必修課程 IT學程 IM學程 課程 chi eng pl db ds econ acct John 88 90 76 68 84 -- Paul 92 80 76
77
605. 成績資訊系統-1 John's elect score: 76.00 all 81.20
Paul's elect score: all 77.60
78
605. 成績資訊系統-2 題目二: 題目說明:請開啟JPD06_2.java,該系決議另行增加一個ITM學程,ITM的學生除了要修IT的課之外,另外還需要修acct一門課,請依下列題意完成作答。將JPD06_2.java內的class JPD06_2修改為class JPA06_2,將檔案另存為JPA06_2.java後編譯為JPA06_2.class,所有題目中有使用到的類別也請編譯後一併儲存。
79
605. 成績資訊系統-2 設計說明: ITM學程,ITM的學生除了要修IT的課之外,另外還需要修 acct 一門課。
請宣告一位 ITM的學生Mary的資料,並計算其「選修課平均成績」及「總平均成績」。 學程 共同必修課程 IT學程 IM學程 課程 chi eng pl db ds econ acct Mary 79 88 94 92 83 -- 69 79
80
605. 成績資訊系統-2 Mary's elect score: all score 83.07
81
605. 成績資訊系統-3 題目三: 題目說明:請開啟JPD06_3.java,系上想要統計目前系上的所有學生人數,請依下列題意完成作答。將JPD06_3.java內的class JPD06_3修改為class JPA06_3,將檔案另存為JPA06_3.java後編譯為JPA06_3.class,所有題目中有使用到的類別也請編譯後一併儲存。
82
605. 成績資訊系統-3 設計說明: 請以類別變數累計學生人數,並呼叫一個方法傳回該系的學生人數。 82
83
605. 成績資訊系統-3 Total students: 3
84
605. 成績資訊系統-4 題目四: 題目說明:請開啟JPD06_4.java,系上於學期末時,需要印製一份班級的學生姓名及平均成績,請依下列題意完成作答。將JPD06_4.java內的class JPD06_4修改為class JPA06_4,將檔案另存為JPA06_4.java後編譯為JPA06_4.class,所有題目中有使用到的類別也請編譯後一併儲存。
85
605. 成績資訊系統-4 設計說明: 請使用 HashMap 為該系設計建立一個 MISClass 類別,HashMap的key值為學生姓名(String),value值為總平均成績,使其代入學生姓名後,可輸出該名學生的總平均成績,總平均成績依該學程有不同的計算方式,請參考題目一及題目二的公式。 一個 MISClass 的實例即代表一個班級,並且有 put、list 兩個方法。 使用 put 方法個別加入三名學生;再使用 list 方法印出該班所有學生的名字及總平均成績。 85
86
605. 成績資訊系統-4 Paul: 77.60 Mary: 83.07 John: 81.20
87
605. 成績資訊系統-5 題目五: 題目說明:請開啟JPD06_5.java,接續題目四的成績列印,請依下列題意完成作答。將JPD06_5.java內的class JPD06_5修改為class JPA06_5,將檔案另存為JPA06_5.java後編譯為JPA06_5.class,所有題目中有使用到的類別也請編譯後一併儲存。
88
605. 成績資訊系統-5 設計說明: 請宣告一位IM學生Peter的資料如下,此學生平均成績大於100(代表資料錯誤) ,請使用例外處理,將學生的名字前增印兩個星號(**),並結束程式。 學程 共同必修課程 IT學程 IM學程 課程 chi eng pl db ds econ acct Peter 89 980 -- 77 69 88
89
605. 成績資訊系統-5 **Peter: 257.6
90
606. 薪資計算 題目前後相關,請閱讀完這個題組的五個題目之後再作答,每題答案皆能獨立執行。請將需要或共同使用的程式片段撰寫成函式,以供在類別中呼叫使用,避免在不同的類別中重複寫相同的程式碼,否則將酌量扣分。 90
91
606.薪資計算-1 題目一: 題目說明:請開啟JPD06_1.java,為老師撰寫一個「薪資計算」程式,請依下列題意完成作答。將JPD06_1.java內的class JPD06_1修改為class JPA06_1,將檔案另存為JPA06_1.java後編譯為JPA06_1.class,所有題目中有使用到的類別也請編譯後一併儲存。
92
606.薪資計算-1 設計說明: 某校有兩種類別的老師: FullTime(專任老師)及PartTime(兼任老師)
專任老師有以下的資料:name、rate(每小時標準工資)、 totalHours。 專任老師薪水的計算方式為: salary = 9 * rate + ((totalHours – 9) * rate * 0.8) 兼任老師有以下的資料:name、rate(每小時標準工資)、totalHours 兼任老師薪水的計算方式為: salary = totalHours * rate 請為此學校新增兩名兼任老師及三名專任老師,並印出這五位教師的薪資 92
93
606.薪資計算-1 執行結果如下頁所示: 類別 name rate totalHours 兼任 John 400 2 Mary 300 4
專任 Peter 9 Paul 12 Eric 350 15 93
94
606.薪資計算-1 John-PartTime: 800.0 Mary-PartTime: 1200.0
Peter-FullTime: Paul-FullTime: Erit-FullTime:
95
606.薪資計算-2 題目二: 題目說明:請開啟JPD06_2.java,該校不論專、兼任教師都需要繳交健保費100元及稅金,請依下列題意完成作答。將JPD06_2.java內的class JPD06_2修改為class JPA06_2,將檔案另存為JPA06_2.java後編譯為JPA06_2.class,所有題目中有使用到的類別也請編譯後一併儲存。
96
606.薪資計算-2 設計說明: 稅金 = salary * 10%
請寫一個命名為 afterTaxIns 的方法,以算出五位教師在扣除健保費與稅金後的薪資。 該校增加一位manager(行政主管)的類別,行政主管必須是專任老師 行政主管分三級:rank = 1 or 2 or 3。 其薪水的計算方式如下: salary = 專任教師的薪水 + rank * 500 請宣告一個名字是 Fang 的行政主管, 其 rate 是 500, totalHours 是 12, rank 是 3。請計算 Fang 的「薪資」及 afterTaxIns(扣除健保費與稅金後的薪資)。 96
97
606.薪資計算-2 John-afterTaxIns: 620.0 Mary-afterTaxIns: 980.0
Peter-afterTaxIns: Paul-afterTaxIns: Eric-afterTaxIns: Fang-Manager: Fang-afterTax Ins:
98
606.薪資計算-3 題目三: 題目說明:請開啟JPD06_3.java,請寫一個方法,此方法能比較兩位教師哪一位薪水較高,請依下列題意完成作答。將JPD06_3.java內的class JPD06_3修改為class JPA06_3,將檔案另存為JPA06_3.java後編譯為JPA06_3.class,所有題目中有使用到的類別也請編譯後一併儲存。
99
606.薪資計算-3 設計說明: 請寫一個比較兩位教師,那一位薪水較高的方法。 比較 Fang 與 Eric 哪一位薪水較高?
比較 Eric 與 John 哪一位薪水較高? 99
100
606.薪資計算-3 Fang is higher than Eric Eric is higher than John
101
606.薪資計算-4 題目四: 題目說明:請開啟JPD06_4.java,計算全部教師afterTaxIns的總和,請依下列題意完成作答。將JPD06_4.java內的class JPD06_4修改為class JPA06_4,將檔案另存為JPA06_4.java後編譯為JPA06_4.class,所有題目中有使用到的類別也請編譯後一併儲存。
102
606.薪資計算-4 設計說明: 請使用 HashMap 撰寫一個能夠存放教師資料的類別,HashMap的key值為老師名稱(String), value值為該老師物件。 將這些教師物件存入一個由這個類別所製造的實例中,然後撰寫一個totalOfAll方法,將所有老師個別的afterTaxIns薪資相加,輸出總和。 102
103
606.薪資計算-4 Total salary:
104
606.薪資計算-5 題目五: 題目說明:請開啟JPD06_5.java,接續題目四的薪資比較,請依下列題意完成作答。將JPD06_5.java內的class JPD06_5修改為class JPA06_5,將檔案另存為JPA06_5.java後編譯為JPA06_5.class,所有題目中有使用到的類別也請編譯後一併儲存。
105
606.薪資計算-5 設計說明: 撰寫一個能夠印出五位教師(不含行政主管Fang)的姓名及薪資(不扣稅及不扣健保費)的方法。這個方法利用例外處理將薪水少於1500的教師姓名前印出兩個**號 。 105
106
606.薪資計算-5 Paul 3420.0 **Mary 1200.0 Eric 4830.0 Peter 3600.0
**John 800.0
107
607. 電腦銷售業績 題目前後相關,請閱讀完這個題組的五個題目之後再作答,每題答案皆能獨立執行。請將需要或共同使用的程式片段撰寫成函式,以供在類別中呼叫使用,避免在不同的類別中重複寫相同的程式碼,否則將酌量扣分。 107
108
607. 電腦銷售業績-1 題目一: 題目說明:請開啟JPD06_1.java,設計「電腦銷售業績」程式,請依下列題意完成作答。將JPD06_1.java內的class JPD06_1修改為class JPA06_1,將檔案另存為JPA06_1.java後編譯為JPA06_1.class,所有題目中有使用到的類別也請編譯後一併儲存。
109
607. 電腦銷售業績-1 設計說明: 寫一個NB類別。假設一台17吋筆記電腦的成本是10000元,14吋筆記型電腦的成本是8500元
請製造一個17吋筆記型電腦及一個14吋筆記型電腦,呼叫其getCost方法,印出其傳回值 109
110
607. 電腦銷售業績-1 一台17”筆記型電腦的成本:10000 一台14”筆記型電腦的成本:8500
111
607. 電腦銷售業績-2 題目二: 題目說明:請開啟JPD06_2.java,第一電腦科技公司同時生產兩種筆記型電腦,分別為「商用電腦」及「高階雙核心電腦」。請計算電腦成本與售價,並依下列題意完成作答。將JPD06_2.java內的class JPD06_2修改為class JPA06_2,將檔案另存為JPA06_2.java後編譯為JPA06_2.class,所有題目中有使用到的類別也請編譯後一併儲存。
112
607. 電腦銷售業績-2 設計說明: 商用電腦的物件是BasicNB、高階雙核心電腦物件為LuxNB
假設一台商用電腦的週邊成本是5000(不含CPU),高階雙核心電腦的週邊成本是8500 (不含CPU) 商用電腦的物件CPU成本(INTEL ATOM N GHz CPU +1000),高階雙核心電腦物件LuxNB CPU 成本(INTEL CORE2 SU9600 CPU +2000) 假設INTEL ATOM N GHz CPU 成本為1000 , INTEL CORE2 SU9600 CPU成本為2000 這兩型的售價都是成本的1.5倍 請為這家電腦工廠設計一個使用abstract class的物件導向程式,以計算電腦的成本與售價 112
113
607. 電腦銷售業績-2 商用電腦成本: 7000.0 商用電腦售價: 10500.0 高階雙核心電腦成本: 12500.0
高階雙核心電腦售價:
114
607. 電腦銷售業績-3 題目三: 題目說明:請開啟JPD06_3.java,印出直營店星期一到星期五的營業額報表,請依下列題意完成作答。將JPD06_3.java內的class JPD06_3修改為class JPA06_3,將檔案另存為JPA06_3.java後編譯為JPA06_3.class,所有題目中有使用到的類別也請編譯後一併儲存。
115
607. 電腦銷售業績-3 設計說明: 假設第一電腦科技公司直營店偏佈北部、中部及南部。下列表格為此公司三月份的總營業額,並已進行計算,分析出在三月份內,直營店星期一到星期日的總營業額。 請用陣列記錄各家直營店星期一到星期日總營業額 程式的輸出、輸入必須與下頁的執行結果畫面內容一樣,才能給予分數 直營店 一 二 三 四 五 六 日 北部 120 420 315 250 418 818 900 中部 312 183 215 89 83 600 700 南部 500 430 210 300 918 880 115
116
607. 電腦銷售業績-3 第一電腦科技公司週報表(單位:萬元) 直營店 一 二 三 四 五 六 日
直營店 一 二 三 四 五 六 日 ==== ==== ==== ==== ==== ==== ==== ==== 北部 中部 南部
117
607. 電腦銷售業績-4 題目四: 題目說明:請開啟JPD06_4.java,接續題目三的三月份總營業額,請為公司計算這筆訂單的總成本、營業額及銷售毛利,請依下列題意完成作答。將JPD06_4.java內的class JPD06_4修改為class JPA06_4,將檔案另存為JPA06_4.java後編譯為JPA06_4.class,所有題目中有使用到的類別也請編譯後一併儲存。
118
607. 電腦銷售業績-4 設計說明: 假設第一電腦科技公司三月總公司統計銷售成本,北部直營店(第1間直營店)1500萬元,中部直營店(第2間直營店)1515萬元,南部直營店(第3間直營店)1858萬元 總公司統計營業費用,北部直營店費用180萬元,中部直營店費用200萬元,南部直營店費用360萬元 請計算出每間直營店的銷售毛利率 銷售毛利率=(直營店三月份總營業額-直營店銷售成本-直營店營業費用)/直營店銷售成本 程式的輸出、輸入必須與下頁的執行結果畫面內容一樣,才能給予分數 118
119
607. 電腦銷售業績-4 第1間直營店銷售總成本=1680 銷售總營業額=3241 銷售毛利率=92.92% 第2間直營店銷售總成本=1715 銷售總營業額=2182 銷售毛利率=27.23% 第3間直營店銷售總成本=2218 銷售總營業額=3453 銷售毛利率=55.68%
120
607. 電腦銷售業績-5 題目五: 題目說明:請開啟JPD06_5.java,接續題目四的總收入計算,請依下列題意完成作答。將JPD06_5.java內的class JPD06_5修改為class JPA06_5,將檔案另存為JPA06_5.java後編譯為JPA06_5.class,所有題目中有使用到的類別也請編譯後一併儲存。
121
607. 電腦銷售業績-5 設計說明: 假設銷售成本北部直營店1500萬元,中部直營店1515萬元,南部直營店1858萬元
北部直營店營業費用180萬元,中部直營店營業費用200萬元,南部直營店營業費用360萬元 請計算出整個公司的銷售毛利率 銷售毛利率=(總營業額-總銷售成本-總營業費用)/總銷售成本 程式的輸出、輸入必須與下頁的執行結果畫面內容一樣,才能給予分數 121
122
607. 電腦銷售業績-5 總銷售總成本=5613 總銷售總營業額=8876 總銷售毛利率=58.13%
123
608. 食物熱量計算 題目前後相關,請閱讀完這個題組的五個題目之後再作答,每題答案皆能獨立執行。請將需要或共同使用的程式片段撰寫成函式,以供在類別中呼叫使用,避免在不同的類別中重複寫相同的程式碼,否則將酌量扣分。 123
124
608. 食物熱量計算-1 題目一: 題目說明:請開啟JPD06_1.java,設計「食物熱量計算」程式,請依下列題意完成作答。將JPD06_1.java內的class JPD06_1修改為class JPA06_1,將檔案另存為JPA06_1.java後編譯為JPA06_1.class,所有題目中有使用到的類別也請編譯後一併儲存。
125
608. 食物熱量計算-1 設計說明: 請使用abstract class設計一個名為Food(食物)的類別, 其屬性與方法如下 資料屬性:
amount,整數(int)型態,代表食物的份量(以公克為單位)。 calorie,整數(int)型態,代表每一公克的食物所具備的熱量。 方法: Food,建構方法(constructor),傳入一個整數(int)代表食物 的份量(以公克為單位)。 setCaloriePerGram,傳入一個整數(int)表示每一公克的食物 所具備的熱量。 getAmount,傳回食物的份量(以公克為單位)。 getCalorie,傳回食物的熱量(每公克熱量*食物份量)。
126
608. 食物熱量計算-1 利用所設計的Food抽象類別,請設計出以下的類別並且新增對應的物件,呼叫getAmount與getCalorie方法後印出傳回值。 類別名稱 份量(公克) 單位熱量(每公克) Rice 100 1 Egg 30 2 Cabbage 50 ProkRib 300 10 Carrot
127
608. 食物熱量計算-1 100 grams of rice has 100 calories.
30 grams of egg has 60 calories. 50 grams of cabbage has 50 calories. 300 grams of pork rib has 3000 calories. 100 grams of carrot has 100 calories.
128
608. 食物熱量計算-2 題目二: 題目說明:請開啟JPD06_2.java,設計兩種便當菜色,並計算其總熱量,請依下列題意完成作答。將JPD06_2.java內的class JPD06_2修改為class JPA06_2,將檔案另存為JPA06_2.java後編譯為JPA06_2.class,所有題目中有使用到的類別也請編譯後一併儲存。
129
608. 食物熱量計算-2 設計說明: 請設計一個LunchBox(便當)的類別, 其屬性與方法如下 資料屬性: 方法:
calorie:型態為整數(int),代表該便當的熱量。 content: 代表便當所含的菜色,請使用Vector來儲存。 方法: add: 傳入一個Food類別的物件並將之存放到content中。 getCalorie:計算該便當所含菜色的總熱量。
130
608. 食物熱量計算-2 新增兩種economy及valued-choice不同的便當,並計算其所含之熱量。 類別 Rice Egg
Cabbage ProkRib Carrot economy 200g -- 100g 250g Valued-choice 30g 300g
131
608. 食物熱量計算-2 Total calories of an economy lunch box are 2800.
Total calories of a valued-choice lunch box are 3360.
132
608. 食物熱量計算-3 題目三: 題目說明:請開啟JPD06_3.java,設計取得便當的熱量及售價的程式,請依下列題意完成作答。將JPD06_3.java內的class JPD06_3修改為class JPA06_3,將檔案另存為JPA06_3.java後編譯為JPA06_3.class,所有題目中有使用到的類別也請編譯後一併儲存。
133
608. 食物熱量計算-3 設計說明: 為各項菜色增加unitCost(單位成本)屬性, 其型態為整數(int),代表每公克之成本,增加setUnitCost方法以設定此屬性 為各項菜色增加getCost方法,以取得該菜色 的成本(意即 unitCost*amount)。 為便當增加priceRatio變數,表示該便當的 售價為:所含菜色的cost總和*priceRatio。 為便當增加一個getPrice方法,以取得該便當 的售價(此方法的傳回值型態為double)
134
608. 食物熱量計算-3 便當類別 菜色成本: 菜色名稱 每公克成本 Rice 1 Egg 2 Cabbage 3 ProkRib 8
priceRatio 類別 Rice Egg Cabbage ProkRib Carrot 1.2 economy 200g -- 100g 250g 1.3 Valued-choice 30g 300g 菜色名稱 每公克成本 Rice 1 Egg 2 Cabbage 3 ProkRib 8 Carrot
135
608. 食物熱量計算-3 Total calories of an economy lunch box are 2800
The price of an economy lunch box is Total calories of a valued-choice lunch box are 3360 The price of a valued-choice lunch box is
136
608. 食物熱量計算-4 題目四: 題目說明:請開啟JPD06_4.java,提供比較兩個便當何者較便宜的方法,請依下列題意完成作答。將JPD06_4.java內的class JPD06_4修改為class JPA06_4,將檔案另存為JPA06_4.java後編譯為JPA06_4.class,所有題目中有使用到的類別也請編譯後一併儲存。
137
608. 食物熱量計算-4 設計說明: 請修改LunchBox類別,提供名稱為isCheaperThan的方法,比較兩個使當何者較便宜
138
608. 食物熱量計算-4 Is the economy lunch box cheaper than the valued-choice? YES!
139
608. 食物熱量計算-5 題目五: 題目說明:請開啟JPD06_5.java,請設計一個SaleReport(銷售記錄)類別,以儲存便當的銷售記錄 ,請依下列題意完成作答。將JPD06_5.java內的class JPD06_5修改為class JPA06_5,將檔案另存為JPA06_5.java後編譯為JPA06_5.class,所有題目中有使用到的類別也請編譯後一併儲存。
140
608. 食物熱量計算-5 設計說明: 利用ArrayList以儲存所銷售的便當。每銷售一個便當, 便呼叫add方法將所銷售的便當物件加以存放。 設計一個可計算總銷售便當個數的方法,名稱為getNumberOfLunchBox。 設計一個可計算銷售便當的利潤(售價-成本)的方法, 其名稱為getProfit,顯示此兩個便當的總利潤
141
608. 食物熱量計算-5 2 lunch boxes have been sold. Profit is 1388.
142
609.堆疊擴充 題目前後相關,請閱讀完這個題組的五個題目之後再作答,每題答案皆能獨立執行。請將需要或共同使用的程式片段撰寫成函式,以供在類別中呼叫使用,避免在不同的類別中重複寫相同的程式碼,否則將酌量扣分。 142
143
609.堆疊擴充-1 題目一: 題目說明:請開啟JPD06_1.java,設計「堆疊」程式,請依下列題意完成作答。將JPD06_1.java內的class JPD06_1修改為class JPA06_1,將檔案另存為JPA06_1.java後編譯為JPA06_1.class,所有題目中有使用到的類別也請編譯後一併儲存。
144
609.堆疊擴充-1 設計說明: 請使用陣列寫一個 BoundStack 類別。 在宣告時便需要指定一個 BoundStack 堆疊的大小
BoundStack 有三個方法:push(存入堆疊資料)、pop(從堆疊中取出資料) 及測試一個 BoundStack 實例是否是空的 empty 方法(Boolean 值)。 在 push 方法中,若判斷已超出堆疊最大容量,則顯示【stack-overflow】。 在pop方法中,若堆疊區為空值,則顯示【stack-is-empty】。
145
609.堆疊擴充-1 在測試是否為空值的方法,若為空值,請傳回【true】,否則傳回【false】。
請依照程式class JPD06_1內提供的順序依序印出,顯示結果如下頁所示
146
609.堆疊擴充-1 stack-overflow ghi def abc true
147
609.堆疊擴充-2 題目二: 題目說明:請開啟JPD06_2.java,並設計一個UnboundedStack類別,請依下列題意完成作答。將JPD06_2.java內的class JPD06_2修改為class JPA06_2,將檔案另存為JPA06_2.java後編譯為JPA06_2.class,所有題目中有使用到的類別也請編譯後一併儲存。
148
609.堆疊擴充-2 設計說明: 請使用 LinkedList 寫一個 UnboundedStack 類別。
UnboundedStack 有三個方法:push(存入堆疊資料)、pop(從堆疊中取出資料) 及測試一個 UnboundStack 實例是否是空值的 empty 方法(Boolean 值)。 在pop方法中,若堆疊區為空值,則顯示【Stack is empty!】。 在測試是否為空值的方法,若為空值,請傳回【true】,否則傳回【false】。 請依照程式class JPD06_2內提供的順序依序印出,顯示結果如下頁所示
149
609.堆疊擴充-2 jkl ghi def false abc true
150
609.堆疊擴充-3 題目三: 題目說明:請開啟JPD06_3.java,請使用前兩題的答案共以Java的抽象類別及繼承,完成以下幾個在功能上逐步擴充的堆疊(stack),請依下列題意完成作答。將JPD06_3.java內的class JPD06_3修改為class JPA06_3,將檔案另存為JPA06_3.java後編譯為JPA06_3.class,所有題目中有使用到的類別也請編譯後一併儲存。
151
609.堆疊擴充-3 設計說明: 請使用前兩題的答案並以Java的抽象類別及繼承,完成以下幾個在功能上逐步擴充的堆疊(stack)。這幾個類別的繼承結構如下: Stack BoundedStack UnboundedStack TraceUnboundedStack
152
609.堆疊擴充-3 請寫一個 Stack 類別,Stack 提供了一個 top 方法,top 先使用 pop 傳回一個堆疊頂端的值,再使用 push 還原該堆疊的儲存值。此外,Stack 的子類別所產生的實例都只可以存放 String。 請再寫一個 TraceUnboundedStack 類別,這個類別繼承 UnboundedStack。 TraceUnboundedStack的getSize方法請傳回 stack.size()後的數值。
153
609.堆疊擴充-3 每次呼叫push方法,請先印出【Pushing: + value】,再於下方印出此value值。
每次呼叫pop方法,請先印出【Poping: + value】,再於下方印出此value值。 請依照程式class JPD06_3內提供的順序依序印出,顯示結果如下頁所示
154
609.堆疊擴充-3 Pushing: abc Pushing: def Pushing: ghi Pushing: jkl 4 Poping: jkl jkl Poping: ghi ghi Poping: def def false Poping: abc abc true Poping: null null
155
609.堆疊擴充-4 題目四: 題目說明:請開啟JPD06_4.java,以generic的方式改寫類別程式,請依下列題意完成作答。將JPD06_4.java內的class JPD06_4修改為class JPA06_4,將檔案另存為JPA06_4.java後編譯為JPA06_4.class,所有題目中有使用到的類別也請編譯後一併儲存。
156
609.堆疊擴充-4 設計說明: 請將 Stack 及 UnboundedStack 類別以 generic 的方式改寫,使得 UnboundedStack 能產生可以儲存數字的實例,也可以產生能儲存 String 的實例等等。 請依照程式class JPD06_4內提供的順序依序印出,顯示結果如下頁所示
157
609.堆疊擴充-4 ghi 2 abc null
158
609.堆疊擴充-5 題目五: 題目說明:請開啟JPD06_4.java,為題目四增加例外處理的功能,請依下列題意完成作答。將JPD06_4.java內的class JPD06_4修改為class JPA06_4,將檔案另存為JPA06_4.java後編譯為JPA06_4.class,所有題目中有使用到的類別也請編譯後一併儲存。
159
609.堆疊擴充-5 設計說明: 請為題目四增加例外處理的功能,使得 pop 一個空的堆疊時,可以印出【Stack is empty!】。
160
609.堆疊擴充-5 ghi 2 abc Stack is empty!
161
610.員工薪資制度 題目前後相關,請閱讀完這個題組的五個題目之後再作答,每題答案皆能獨立執行。請將需要或共同使用的程式片段撰寫成函式,以供在類別中呼叫使用,避免在不同的類別中重複寫相同的程式碼,否則將酌量扣分。 161
162
610.員工薪資制度-1 題目一: 題目說明: 請開啟JPD06_1.java,設計「員工薪資制度」程式,請依下列題意完成作答。將JPD06_1.java內的class JPD06_1修改為class JPA06_1,將檔案另存為JPA06_1.java後編譯為JPA06_1.class,所有題目中有使用到的類別也請編譯後一併儲存。
163
610.員工薪資制度-1 設計說明: 該工廠有三種類別的員工。 SalaryWorker 以「年薪」(月薪為年薪除以12)計算薪水。
HourlyWorker 以「時薪」計算薪水。 Manager 必須是 SalaryWorker,但是除了年薪之外,每月還有紅利。 每名員工都有編號。 請宣告一個 SalaryWorker 類別。其員工編號為 96001,年薪為180000,撰寫 monthPay 方法以計算這名員工該月的收入。
164
610.員工薪資制度-1 請宣告一個 HourlyWorker類別。其員工編號為 96002,每月工時160小時,時薪100,撰寫monthPay方法計算這名員工該月的收入。 請宣告一個Manager類別。其員工編號為 97001,年薪為 ,每月的紅利為 5000,撰寫 monthPay方法計算這名員工該月的收入。 請分別顯示三位員工的薪水,顯示結果如下頁所示
165
610.員工薪資制度-1 SalaryWorker: HourlyWorker: Manager:
166
610.員工薪資制度-2 題目二: 題目說明: 請開啟JPD06_2.java,比較兩個員工的收入何者較高,請依下列題意完成作答。將JPD06_2.java內的class JPD06_2修改為class JPA06_2,將檔案另存為JPA06_2.java後編譯為JPA06_2.class,所有題目中有使用到的類別也請編譯後一併儲存。
167
610.員工薪資制度-2 設計說明: 根據上題說明,依 SalaryWorker、HourlyWorker、Manager 順序先印出此三位的該月收入。 請寫一方法,首先比較SalaryWorker 與 HourlyWorker 兩者的該月收入,何者較高;再比較HourlyWorker與Manager的月收入何者較高,並接續列印薪資較高的員工代號,顯示【員工代號+較高】。 再請計算每位員工該月的應繳稅額,稅率均為薪水的15%,分別列出SalaryWorker、HourlyWorker、Manager 的稅額。 。
168
610.員工薪資制度-2 SalaryWorker: HourlyWorker: Manager: 較高 97001較高 SalaryWorker稅額: HourlyWorker稅額: Manager稅額:3750.0
169
610.員工薪資制度-3 題目三: 題目說明: 請開啟JPD06_3.java,計算員工的總月繳稅額,請依下列題意完成作答。將JPD06_3.java內的class JPD06_3修改為class JPA06_3,將檔案另存為JPA06_3.java後編譯為JPA06_3.class,所有題目中有使用到的類別也請編譯後一併儲存。
170
610.員工薪資制度-3 設計說明: 請以類別變數累計員工人數,並在每次計算某一員工的月繳稅額時,以類別變數累計總月繳稅額。
撰寫一個能夠傳回所有員工的平均繳稅金額的類別方法。
171
610.員工薪資制度-3 SalaryWorker稅額: HourlyWorker稅額: Manager稅額: 平均稅額:2800.0
172
610.員工薪資制度-4 題目四: 題目說明: 請開啟JPD06_4.java,計算員工稅後薪資,請依下列題意完成作答。將JPD06_4.java內的class JPD06_4修改為class JPA06_4,將檔案另存為JPA06_4.java後編譯為JPA06_4.class,所有題目中有使用到的類別也請編譯後一併儲存。
173
610.員工薪資制度-4 設計說明: 請使用 HashMap 寫一個 Management 人事管理類別,Management 提供一個能夠傳入員工編號,然後傳回該員工稅後薪資的方法 afterTax。 請查詢 的稅後薪資。
174
610.員工薪資制度-4 97001 的稅後薪資:
175
610.員工薪資制度-5 題目五: 題目說明: 請開啟JPD06_5.java,請為題目四增加例外處理的功能,請依下列題意完成作答。將JPD06_5.java內的class JPD06_5修改為class JPA06_5,將檔案另存為JPA06_5.java後編譯為JPA06_5.class,所有題目中有使用到的類別也請編譯後一併儲存。
176
610.員工薪資制度-5 設計說明: 請為 Management 寫一個計算員工總月薪的方法。如果總月薪超過50000,則以exception印出警告信息。
177
610.員工薪資制度-5 Total salary exceed limit:
Similar presentations