網站聲明

本網站包含了各式各樣的資源,如果有侵占到您的著作權,請與本人通知,本人會立即改進。本站所有發表僅屬研究討論性質,如果有任何後果請自行負責。

2015-05-30

TQC+ Java6 基本認識 603-4

603-4.
設計說明:

1. 請使用LinkedList另寫一個類別支援該店的外送服務。
2. 外送服務可以計算一次外送服務的總售價、總成本及總利潤。
3. 請為以下兩次的外送,計算其總售價、總成本及總利潤。
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

參考程式碼:
  1. import java.util.*;
  2. class Unit{
  3.  double getCost,getPrice,getProfit;
  4.   Unit(){getCost = 0; getPrice = 0; getProfit = 0;}
  5.   public double getCost(){return getCost;}
  6.   public double getPrice(){return getPrice;}
  7.   public double getProfit(){return getProfit;}
  8.  }
  9. class Apple extends Unit{
  10.  Apple(){
  11.   getCost=6;
  12.   getPrice=10;
  13.  }
  14. }
  15. class Banana extends Unit{
  16.  Banana(){
  17.   getCost=2;
  18.   getPrice=5;
  19.  }
  20. }
  21. class Pudding extends Unit{
  22.  Pudding(){
  23.   getCost=3;
  24.   getPrice=5;
  25.  }
  26. }
  27. class Strawberry extends Unit{
  28.  Strawberry(){
  29.   getCost=1;
  30.   getPrice=5;
  31.  }
  32. }
  33. class Mango extends Unit{
  34.  Mango(){
  35.   getCost=2;
  36.   getPrice=5;
  37.  }
  38. }
  39. class A extends Unit{
  40.  A(Unit A,Unit B){
  41.   getCost=A.getCost()+B.getCost();
  42.   getPrice=A.getPrice()+B.getPrice();
  43.   getProfit=getPrice-getCost;
  44.  }
  45. }
  46. class B extends Unit{
  47.  B(Unit A,Unit B,Unit C){
  48.   getCost=A.getCost()+B.getCost()+C.getCost();
  49.   getPrice=A.getPrice()+B.getPrice()+C.getPrice();
  50.   getProfit=getPrice-getCost;
  51.  }
  52. }
  53. class Deliver extends Unit{
  54.  LinkedList<Unit> pcs;
  55.  double total;
  56.  Deliver(){
  57.   pcs=new LinkedList<Unit>();
  58.  }
  59.  void addProduct(A A){
  60.   pcs.add(A);
  61.  }
  62.  void addProduct(B B){
  63.   pcs.add(B);
  64.  }
  65.  public double getTotalPrice(){
  66.   total=0;
  67.   for(Unit apc:pcs){
  68.    total+=apc.getPrice();
  69.   }
  70.   return total;
  71.  }
  72.  public double getTotalCost(){
  73.   total=0;
  74.   for(Unit apc:pcs){
  75.    total+=apc.getCost();
  76.   }
  77.   return total;
  78.  }
  79.  public double getTotalProfit(){
  80.   total=0;
  81.   for(Unit apc:pcs){
  82.    total+=apc.getProfit();
  83.   }
  84.   return total;
  85.  }
  86. }
  87. public class JPA603_4{
  88.  public static void main(String args[]){
  89.   Deliver d1 = new Deliver();
  90.   d1.addProduct(new A(new Apple()new Banana()));
  91.   d1.addProduct(new B(new Banana()new Pudding()new Strawberry()));
  92.   System.out.println("a Price: " + d1.getTotalPrice());
  93.   System.out.println("a Cost: " + d1.getTotalCost());
  94.   System.out.println("a Profit: " + d1.getTotalProfit());
  95.   Deliver d2 = new Deliver();
  96.   d2.addProduct(new B(new Apple()new Banana()new Mango()));
  97.   d2.addProduct(new A(new Apple()new Banana()));
  98.   d2.addProduct(new B(new Banana()new Pudding()new Strawberry()));
  99.   d2.addProduct(new B(new Apple()new Banana()new Mango()));
  100.   System.out.println("b Price: " + d2.getTotalPrice());
  101.   System.out.println("b Cost: " + d2.getTotalCost());
  102.   System.out.println("b Profit: " + d2.getTotalProfit());
  103.  }
  104. }

TQC+ Java 試題總整理

聲明:

這裡的範例程式碼皆由本人親自編輯,歡迎轉載本教學,但請註明本網站,尊重一下作者的心血

沒有留言:

張貼留言

歡迎留言,較舊文章需要留言審核看不到自己的留言是正常的。
若長時間無回應請使用以下聯絡方式:
填寫表單:https://forms.gle/hxxX9n4tATcFnhnk8
寄信到:happyplayblogs@gmail.com