You're right\! Having the back button directly over the problem statement isn't ideal for readability. I've adjusted the CSS to properly position the "Back to Exam Panel" button. It will now be aligned to the left within the `container`, above the problem statement title, ensuring it's clearly visible without overlapping content. ----- ```html Problem Statement: Bank Account System

NBKRIST Java Hub

← Back to Exam Panel

Problem Statement: Bank Account System

You are tasked with designing and implementing a simplified Bank Account System in Java. This system must demonstrate a solid understanding of object-oriented programming (OOP) principles, including **interfaces**, **inheritance**, and **polymorphism**.

The system should be able to manage different types of bank accounts, such as Savings and Current accounts, each with its own specific behavior while sharing a common set of functionalities.

Functional Requirements

Technical Requirements

Testing Requirements

Your solution must be testable. Write a Main class that performs the following test cases:

  1. Savings Account Test:
    • Create a SavingsAccount with an initial balance of $1500.
    • Attempt to withdraw $200. The transaction should succeed.
    • Attempt to withdraw an amount that would leave the balance below the minimum threshold (e.g., try to withdraw another $400). This transaction should fail, and an appropriate message should be printed.
  2. Current Account Test:
    • Create a CurrentAccount with an initial balance of $300.
    • Attempt to withdraw $500. The transaction should succeed, resulting in a negative balance.
    • Attempt to withdraw an amount that would exceed the overdraft limit (e.g., try to withdraw another $200). This transaction should fail, and an appropriate message should be printed.
  3. Polymorphism Test:
    • Create a List and add both a SavingsAccount and a CurrentAccount object to it.
    • Iterate through the list and try to withdraw a large amount (e.g., $1000) from each account. The output should clearly show how the withdrawal logic differs for each account type.
```