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
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.