Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

public class Main { public static void main(String[] args) { // Feel free to add

ID: 3786185 • Letter: P

Question

public class Main {

public static void main(String[] args) {
// Feel free to add more to this to test things out.
// You will be graded by the automatic tests you get from "Run Tests"
  
BankAccount b1 = new BankAccount("abc");
BankAccount b2 = new BankAccount("123");
b1.deposit(300);
b2.deposit(400);
b1.transfer(150, b2); // should remove 150 from b2 and put it in b1
  
// Should show a deposit, a move from b1, and a final balance of 450
System.out.println(b1.report());
// Should show a deposit, a move to b1, and a final balance of 250
System.out.println(b2.report());
}
}

--------------------------------------------------------------------------------------------------

public class BankAccount {
public int balance;
public final String accountNumber;
public String transactionLog;

public BankAccount(String accountNumber) {
this.accountNumber = accountNumber;
this.balance = 0;
this.transactionLog = "";
}

public String report() {
// FILL ME IN!
return "";
}

public int getBalance() {
// FILL ME IN!
return 0;
}

public void transfer(int transferAmount, BankAccount fromAccount) {
// FILL ME IN!
}

public void withdraw(int withdrawalAmount) {
// FILL ME IN!
}

public void deposit(int depositAmount) {
// FILL ME IN!
}

}

Bank Account You will write a class called BankAccount, with three fields and five methods. These are stubbed out for you in the template Fields account Number this field holds a String representing a unique account number balance this field holds an int which represents the current balance in the account. Assume that we only work with whole dollar amounts For this lab, you can ignore overflow of ints (a real bank ought to not do that) t ransactionLog -this field holds a Str ing which represents a history of the transactions for the account. This is d more below Methods deposit this method takes an int, and returns void. It adds the given amount to the account's balance. If the amount is negative, the method should return without making any changes. If successful, it should also add a line to the end of the transaction log (by appending to the string) that says "Deposit: $

Explanation / Answer

Hi,

I have updated the code and highlighted the code changes below

Main.java


public class Main {

   public static void main(String[] args) {
   // Feel free to add more to this to test things out.
   // You will be graded by the automatic tests you get from "Run Tests"
  
   BankAccount b1 = new BankAccount("abc");
   BankAccount b2 = new BankAccount("123");
   b1.deposit(300);
   b2.deposit(400);
   b1.transfer(150, b2); // should remove 150 from b2 and put it in b1
  
   // Should show a deposit, a move from b1, and a final balance of 450
   System.out.println(b1.report());
   // Should show a deposit, a move to b1, and a final balance of 250
   System.out.println(b2.report());
   }
   }

BankAccount.java


public class BankAccount {
   public int balance;
   public final String accountNumber;
   public String transactionLog;
   public BankAccount(String accountNumber) {
   this.accountNumber = accountNumber;
   this.balance = 0;
   this.transactionLog = "";
   }
   public String report() {
   // FILL ME IN!
      String s = "";
       s = "Current balance is "+balance;
   return s;
  
}
   public int getBalance() {
   // FILL ME IN!
   return balance;
  
}
   public void transfer(int transferAmount, BankAccount fromAccount) {
   // FILL ME IN!
      balance = balance + transferAmount;
       fromAccount.balance = fromAccount.balance - transferAmount;
  
}
   public void withdraw(int withdrawalAmount) {
   // FILL ME IN!
      balance = balance - withdrawalAmount;
  
}
   public void deposit(int depositAmount) {
      balance = balance + depositAmount;
  
// FILL ME IN!
   }
   }

Output:

Current balance is 450
Current balance is 250