2012-10-06 74 views
0

我正在做一個Java項目,我被困在了一部分。我有存款功能在SavingsAccount類中工作,但我似乎無法弄清楚如何在引擎類中調用它。對於我們的項目,我們必須允許用戶使用BlueJ虛擬機創建多個銀行賬戶並在它們之間轉移資金。我會發布我的引擎類和儲蓄帳戶類的相關代碼...謝謝,任何幫助將不勝感激!銀行帳戶轉移項目Java

問題:我無法從一個帳戶轉移到另一個帳戶,我在引擎類上收到錯誤消息。我覺得我做的事情錯了,我寄錢給帳戶...

儲蓄賬戶代碼

public class SavingsAccount extends BankAccount 
public void transfer (BankAccount that, double amount) 
{ 
    if 
    (balance-amount < -80) 
    balance = balance ; 
    else 
    { 
     if 
     (amount <= balance) 
      { 
       this.balance = this.balance - amount; 
       that.balance = that.balance + amount; 
      } 
     else 
      { 
       this.balance = this.balance - amount-20; 
       that.balance = that.balance + amount; 
      } 
    } 
} 

引擎類

public class engine 
{ 
SavingsAccount savings1 = new SavingsAccount(); 
savings1.balance = 0; 

//code for other choices, such as deposit and withdraw... 

    if (selection2 == 3) 
     { 
      System.out.println ("How much would you like to transfer?"); 
      int transferAmount = in.nextInt (); 
      System.out.println ("Which account would you like to transfer the money to?"); 
      String thatAccount = in.next(); 
      savings1.withdraw (transferAmount); 
      thatAccount.deposit (transferAmount); 
      System.out.println ("You account balance is " + savings1.getBalance() + "!"); 

     } 
+0

我不明白你的問題。 –

+5

無論你在做什麼,你都不應該在涉及金錢的地方雙倍使用。改用BigDecimal。 –

+0

我無法從一個帳戶轉移到另一個帳戶,我在引擎類上出現錯誤。我想我正在爲我匯款的帳戶做錯了什麼... – user1691618

回答

3

我有一些提示/建議如下:

Your transferAccount thatAccount is a字符串String thatAccount = in.next();。你怎麼能打電話給deposit()方法?

我看不到deposit()withdraw()方法在SavingsAccount類,希望有BankAccount類存在。

現在確定如何初始化餘額爲saving1.balance=0;。應該通過一些分類方法來完成,例如setBalance as saving1.setBalance(0);

當您調用savings1.withdraw()方法時,餘額爲0

希望這些將幫助您識別您的問題並糾正程序。

+0

這就是我需要幫助的。我如何'找到'用戶所選的傳輸目的地。我意識到現在它只是一個字符串,但我真的不知道從那一點開始做什麼。我在java中的經驗非常有限...... – user1691618

+1

不知道,我可以在這裏幫助多少,但是您需要遵循引擎類中的一些基本步驟。 1.定義一個映射爲Map maintainAccounts = new HashMap ();'。 2.實例化賬戶並將其放入維護的賬戶中(「acountNumber123」,savings1);'。 3.在'withdraw'或'depost'之前,獲取銀行賬戶爲'SavingsAccount accountToMaintain = maintainAccounts.get(「accountNumber123」);'。 4.在檢索到的銀行物體上調用所需的功能,例如'accountToMaintain.deposit(1000);'或'accountToMaintain.withdraw(500);'。 –