0

私はJavaでプロジェクトを行っていますが、その一部で立ち往生しています。SavingsAccount クラスで入金関数を動作させていますが、エンジン クラスで呼び出す方法がわかりません。私たちのプロジェクトでは、BlueJ 仮想マシンを使用して、ユーザーが複数の銀行口座を作成し、それらの間で資金を転送できるようにする必要があります。私のエンジンクラスと普通預金口座クラスの関連コードを投稿します...ありがとう、助けていただければ幸いです!

問題: あるアカウントから別のアカウントに送金するための資金を得ることができません。エンジン クラスでエラー メッセージが表示されます。送金先のアカウントに何か問題があると思います...

普通預金口座コード

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 () + "!");

      }
4

1 に答える 1

3

以下のような観察/提案があります。

transferAccountthatAccountは StringString thatAccount = in.next();です。その上でどのようにメソッドを呼び出すことができますdeposit ()か?

deposit()クラスにwithdraw()メソッドが表示されません。クラスSavingsAccountに存在することを願っていBankAccountます。

残高を として初期化する方法を確認してくださいsaving1.balance=0;。などのクラスメソッドを介して行う必要がありsetBalanceますsaving1.setBalance(0);

メソッドを呼び出しているときsavings1.withdraw()の残高は0です。

これらが問題の特定とプログラムの修正に役立つことを願っています。

于 2012-10-06T19:19:59.020 に答える