Solução para o desafio opcional, com o intuito de praticar a orientação a objetos:
package Bank;
public class BankAccount {
private double totalBalance;
public void deposit(double amount) {
System.out.println("Depositing: " + amount);
totalBalance += amount;
}
public void withdraw(double amount) {
System.out.println("Withdrawing: " + amount);
if (amount <= totalBalance) {
totalBalance -= amount;
} else {
System.out.println("Insufficient funds");
}
}
public void showBalance() {
System.out.println("Total balance: " + totalBalance);
}
}
package Bank;
public class CheckingAccount extends BankAccount {
public void chargeMonthlyFee() {
System.out.println("Charging monthly fee");
double monthlyFee = 10.0;
withdraw(monthlyFee);
}
}
import Bank.CheckingAccount;
import java.util.Scanner;
public class Main extends PrimeNumbers {
public static void main(String[] args) {
CheckingAccount newAccount = new CheckingAccount();
newAccount.deposit(200.0);
newAccount.withdraw(50.0);
newAccount.showBalance();
newAccount.chargeMonthlyFee();
newAccount.showBalance();
}
}