A simple console-based Employee Management System in Java that supports multiple employee types, including Salaried, Hourly, Commission, and Base Plus Commission employees. The system allows you to add, remove, and view employee details using a menu-driven interface.
- Add Employees: Supports four types of employees.
- Remove Employees: Remove by Social Security Number (SSN).
- View All Employees: Display a list of all employees.
- View Employee Details: Search and display details by SSN.
- Input Validation: Prevents duplicate SSNs.
- Extensible Design: Uses inheritance for employee types.
Follow the prompts to manage employees.
| Type | Description |
|---|---|
| SalariedEmployee | Paid a fixed weekly salary |
| HourlyEmployee | Paid by the hour, with overtime for hours > 40 |
| CommissionEmployee | Paid based on gross sales and commission rate |
| BasePlusCommissionEmployee | Commission employee with a base salary (base salary gets a 10% increase) |
- Main.java: Handles user interaction and menu logic.
- Employee.java: Abstract base class for all employees.
- SalariedEmployee.java: Represents salaried employees.
- HourlyEmployee.java: Represents hourly employees.
- CommissionEmployee.java: Represents commission-based employees.
- BasePlusCommissionEmployee.java: Extends CommissionEmployee with a base salary.
- Add persistent storage (e.g., file or database).
- Implement more robust input validation.
- Enhance output formatting.
- Add unit tests.
This project is open source and free to use for educational purposes.
- EKRAMUL HOQUE
- Inspired by classic Java OOP exercises and payroll management examples.