Java Mini Project report
Java Mini Project report
AIM:
import java.io.*;
import java.util.*;
// RegularSeat class
class RegularSeat extends Seat {
String comfortLevel;
@Override
public void displaySeatDetails() {
System.out.println("Seat (" + getRow() + "," + getSeatNumber() + ") - Regular");
System.out.println("Price: $" + getTicketPrice());
System.out.println("Comfort Level: " + comfortLevel);
}
}
// VIPSeat class
class VIPSeat extends Seat {
boolean complimentaryDrinks;
@Override
public void displaySeatDetails() {
System.out.println("Seat (" + getRow() + "," + getSeatNumber() + ") - VIP");
System.out.println("Price: $" + getTicketPrice());
System.out.println("Complimentary Drinks: " + (complimentaryDrinks ? "Yes" : "No"));
}
}
// SeatingArrangement class
class SeatingArrangement {
private ArrayList<ArrayList<Seat>> seats;
@SuppressWarnings("unchecked")
public void loadSeatingData(String fileName) throws IOException, ClassNotFoundException
{
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(fileName))) {
Object obj = ois.readObject();
if (obj instanceof ArrayList) {
seats = (ArrayList<ArrayList<Seat>>) obj;
} else {
throw new IOException("Invalid data format in file.");
}
}
}
}
// Main Class
public class Main {
public static void main(String[] args) {
SeatingArrangement arrangement = new SeatingArrangement(5, 5); // 5 rows, 5 seats per
row
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("\n1. View Seating Layout");
System.out.println("2. View Detailed Seat Information");
System.out.println("3. Book a Seat");
System.out.println("4. Save Seating Data");
System.out.println("5. Load Seating Data");
System.out.println("6. Exit");
System.out.print("Enter your choice: ");
int choice = scanner.nextInt();
switch (choice) {
case 1:
arrangement.displaySeatingLayout();
break;
case 2:
arrangement.displaySeatingDetails();
break;
case 3:
System.out.print("Enter row number (1-5): ");
int row = scanner.nextInt() - 1;
System.out.print("Enter seat number (1-5): ");
int seatNumber = scanner.nextInt() - 1;
try {
arrangement.bookSeat(row, seatNumber);
} catch (InvalidSeatException | SeatAlreadyOccupiedException e) {
System.out.println("Error: " + e.getMessage());
}
break;
case 4:
try {
arrangement.saveSeatingData("seatingData.txt");
System.out.println("Seating data saved.");
} catch (IOException e) {
System.out.println("Error saving data: " + e.getMessage());
}
break;
case 5:
try {
arrangement.loadSeatingData("seatingData.txt");
System.out.println("Seating data loaded.");
} catch (IOException | ClassNotFoundException e) {
System.out.println("Error loading data: " + e.getMessage());
}
break;
case 6:
System.out.println("Exiting...");
scanner.close();
return;
default:
System.out.println("Invalid choice!");
}
}
}
}
Output:
• Compile all the code in the command prompt
• Book a seat
RESULT:
Thus , a mini project for an application using java concepts is developed successfully.
PERFORMANCE (25)
VIVA VOCE (10)
RECORD (15)
TOTAL (50)