網站聲明

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

2015-06-09

TQC+ Java6 基本認識 604-2

604-2.
設計說明:

1. Peter由優惠存款帳戶提款5000元。並再次購買A基金2000元,價格為每單位300元。
2. 請列出該【基金餘額】,及Peter之活期存款帳戶【售出前活期餘額】。
3. 接著Peter將其基金全數賣出,賣價為每單位400元。
4. 請再次查詢Peter之活期存款戶的餘額。

參考程式碼:
  1. class Account{
  2.  String name;
  3.  double APR;
  4.  int Balance;
  5.  Account(){Balance = 0;}
  6.   public void deposit(int i){
  7.    Balance+=i;
  8.   }
  9.   public void withdraw(int i){
  10.    Balance-=i;
  11.   }
  12.   public int balance(){
  13.    return Balance;
  14.   }
  15.   public void addInterest(){
  16.    Balance+=Balance*APR;
  17.   }
  18.  }
  19. class DepositAccount extends Account{
  20.  DepositAccount(String n,int i){
  21.   name=n;
  22.   if(i==1) APR=0.03;
  23.   else if(i==2) APR=0.04;
  24.   else if(i==3) APR=0.05;
  25.  }
  26. }
  27. class FreeAccount extends Account{
  28.  FreeAccount(String n){
  29.   name=n;
  30.   APR=0.02;
  31.  }
  32. }
  33. class SpecialAccount extends Account{
  34.  SpecialAccount(String n){
  35.   name=n;
  36.   APR=0.02;
  37.  }
  38.  boolean isEmpt(){
  39.   return Balance>10000;
  40.  }
  41. }
  42. class FundAccount{
  43.  String name,type;
  44.  double unit = 0.0;
  45.  FreeAccount freeAccount;
  46.  SpecialAccount specialAccount;
  47.  FundAccount(String n,String t,FreeAccount f,SpecialAccount s){
  48.   name=n;
  49.   type=t;
  50.   freeAccount=f;
  51.   specialAccount=s;
  52.  }
  53.  public void buy(int i,int j){
  54.   if (specialAccount.isEmpt()){
  55.    freeAccount.withdraw(i);
  56.   }
  57.   else{
  58.    freeAccount.withdraw((int)(i*1.02));
  59.   }
  60.   unit+=1.0*i/j;
  61.  }
  62.  public int balance(int j){
  63.   return (int)(unit*j);
  64.  }
  65.  double getUnit() {
  66.   return unit;
  67.  }
  68.  public void sell(double i,int j){
  69.   freeAccount.deposit((int)(i*j*0.98));
  70.  }
  71. }
  72. public class JPA604_2{
  73.  public static void main(String args[]){
  74.   DepositAccount deposit = new DepositAccount("peter"2);
  75.   deposit.deposit(5000);
  76.   FreeAccount free = new FreeAccount("peter");
  77.   free.deposit(20000);
  78.   SpecialAccount special = new SpecialAccount("peter");
  79.   special.deposit(10000);
  80.   deposit.addInterest();
  81.   free.addInterest();
  82.   special.addInterest();
  83.   FundAccount fund = new FundAccount("peter""A", free, special);
  84.   fund.buy(15000500);
  85.   special.withdraw(5000);
  86.   fund.buy(2000300);
  87.   System.out.println("基金餘額:" + fund.balance(300));
  88.   System.out.println("售出前活期餘額:" + fund.freeAccount.balance());
  89.   fund.sell(fund.getUnit()400);    
  90.   System.out.println("售出後活期餘額:" + fund.freeAccount.balance());
  91.  }
  92. }

TQC+ Java 試題總整理

聲明:

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

沒有留言:

張貼留言

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