🎓 University Project: Developed as part of the Year 1 University curriculum to demonstrate core Object-Oriented Programming (OOP) and Data Structure implementation in Java.
A comprehensive command-line application designed to manage plane seating, ticket sales, and passenger information. This project focuses on efficient data handling using multi-dimensional arrays and custom class structures (Person, Ticket).
- Seat Booking & Cancellation: Interactive menu to buy or cancel seats with real-time validation.
- Dynamic Seating Plan: Visual representation of the plane's seating layout (4 rows, variable seats per row).
- First-Available Finder: Automated logic to find and suggest the next empty seat.
- Ticket Management: Generates detailed ticket information including passenger details (Name, Surname, Email).
- Sales Reporting: Calculates and prints total revenue and individual ticket breakdowns.
- Search Functionality: Quickly locate specific ticket and passenger records.
- OOP Principles: Implemented using custom classes for encapsulation (
Person,Ticket). - Data Structures: Utilizes 2D arrays for seat mapping and 1D arrays for record management.
- Input Validation: Robust error handling for user inputs using
try-catchblocks and custom validation methods. - File Export: (If applicable) Ability to save ticket information to text files.
├── src/
│ ├── PlaneManagement.java # Main entry point & menu logic
│ ├── Person.java # Passenger data model
│ ├── Ticket.java # Ticket and pricing logic
│ └── ...
└── README.md
- Prerequisites: Ensure you have Java JDK 17 or later installed.
- Compile:
javac src/*.java - Execute:
java -cp src PlaneManagement
Built with ❤️ by Kavintha Dilshan