title: How to transfer funds from one bank account to another in Java?
body: <p>Assignment:
  Change the Account class so that funds can be moved form one account to another. Think of this as withdrawing money from one account and depositing it into another. Change the main method of Banking class to show this new service.</p>
  
  <p>I am working on a bank account class that can deposit and withdraw money from bank account balances. I am working on the class part of the the assignment where you declare all the methods for the driver. My assignment wants me to make a method that will withdraw money from one account and deposit that money into another account. I already know how to withdraw and deposit, I just don't know how to transfer money from one account to another account. Here is my code for the transfer method so far:</p>
  
  <pre><code>import java.text.NumberFormat;
  public class Account
  {
      private NumberFormat fmt = NumberFormat.getCurrencyInstance();
      private final double RATE = 0.035; // interest rate of 3.5%
      private long acctNumber;
      private double balance;
      private String name;
      //-----------------------------------------------------------------
      // Sets up the account by defining its owner, account number,
      // and initial balance.
      //-----------------------------------------------------------------
      public Account (String owner, long account, double initial)
      {
          name = owner;
          acctNumber = account;
          balance = initial;
      }
      //-----------------------------------------------------------------
      // Validates the transaction, then deposits the specified amount
      // into the account. Returns the new balance.
      //-----------------------------------------------------------------
      public double deposit (double amount)
      {
          if (amount &lt; 0) // deposit value is negative
          {
              System.out.println ();
              System.out.println ("Error: Deposit amount is invalid.");
              System.out.println (acctNumber + " " + fmt.format(amount));
          }
          else
              balance = balance + amount;
          return balance;
      }
      //-----------------------------------------------------------------
      // Validates the transaction, then withdraws the specified amount
      // from the account. Returns the new balance.
      //-----------------------------------------------------------------
      public double withdraw (double amount, double fee)
      {
          amount += fee;
          if (amount &lt; 0) // withdraw value is negative
          {
          System.out.println ();
          System.out.println ("Error: Withdraw amount is invalid.");
          System.out.println ("Account: " + acctNumber);
          System.out.println ("Requested: " + fmt.format(amount));
          }
          else
          if (amount &gt; balance) // withdraw value exceeds balance
          {
          System.out.println ();
          System.out.println ("Error: Insufficient funds.");
          System.out.println ("Account: " + acctNumber);
          System.out.println ("Requested: " + fmt.format(amount));
          System.out.println ("Available: " + fmt.format(balance));
          }
          else
          balance = balance - amount;
          return balance;
      }
  
      public double transfer (double amount, double fee)
      {
          amount += fee;
          if (amount &lt; 0) // withdraw value is negative
          {
              System.out.println ();
              System.out.println ("Error: Withdraw amount is invalid.");
              System.out.println ("Account: " + acctNumber);
              System.out.println ("Requested: " + fmt.format(amount));
          }
          else
          if (amount &gt; balance) // withdraw value exceeds balance
          {
              System.out.println ();
              System.out.println ("Error: Insufficient funds.");
              System.out.println ("Account: " + acctNumber);
              System.out.println ("Requested: " + fmt.format(amount));
              System.out.println ("Available: " + fmt.format(balance));
          }
          else
              balance = balance - amount;
  
           //What should I put here to deposit the amount into another account?
  
          if (amount &lt; 0) // deposit value is negative
          {
              System.out.println ();
              System.out.println ("Error: Deposit amount is invalid.");
              System.out.println (acctNumber + " " + fmt.format(amount));
          }
          else
              balance = balance + amount;
      }
  
      //-----------------------------------------------------------------
      // Adds interest to the account and returns the new balance.
      //-----------------------------------------------------------------
      public double addInterest ()
      {
          balance += (balance * RATE);
          return balance;
      }
      //-----------------------------------------------------------------
      // Returns the current balance of the account.
      //-----------------------------------------------------------------
      public double getBalance ()
      {
          return balance;
      }
      //-----------------------------------------------------------------
      // Returns the account number.
      //-----------------------------------------------------------------
      public long getAccountNumber ()
      {
          return acctNumber;
      }
      //-----------------------------------------------------------------
      // Returns a one-line description of the account as a string.
      //-----------------------------------------------------------------
      public String toString ()
      {
          return (acctNumber + "\t" + name + "\t" + fmt.format(balance));
      }
  }
  </code></pre>