OneCompiler

Gggg

1995

Example heading with h2 size

Example heading with h3 size

Following is sample java code.

int i = 1}






import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Scanner;

public class AMSApplication {

private static ArrayList<Flight> flightList = new ArrayList<>();
private static ArrayList<Booking> bookingList = new ArrayList<>();
private static int nextBookingID = 1;
private static int loggedInUserID = 123; // Example user ID for the logged-in user

public static void main(String[] args) {
    // Sample flight data
    flightList.add(new Flight(101, "Air India", "New York", "London", new Date(2024, 9, 10), 500, 10, 20, 5));
    flightList.add(new Flight(102, "Delta", "Los Angeles", "Tokyo", new Date(2024, 9, 15), 800, 15, 25, 10));
    flightList.add(new Flight(103, "Emirates", "Dubai", "Paris", new Date(2024, 9, 20), 600, 8, 30, 7));

    Scanner scanner = new Scanner(System.in);

    System.out.println("Enter FlightID:");
    int flightID = scanner.nextInt();

    System.out.println("Enter Number of Seats:");
    int noOfSeats = scanner.nextInt();

    System.out.println("Enter Seat Category (Business/Economy/Executive):");
    String seatCategory = scanner.next();

    System.out.println("Enter Date of Travel (dd-MM-yyyy):");
    String dateOfTravelStr = scanner.next();

    try {
        SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
        Date dateOfTravel = sdf.parse(dateOfTravelStr);

        bookFlight(flightID, noOfSeats, seatCategory, dateOfTravel);

    } catch (Exception e) {
        System.out.println("Invalid date format. Please enter the date in dd-MM-yyyy format.");
    }

    scanner.close();
}

public static void bookFlight(int flightID, int noOfSeats, String seatCategory, Date dateOfTravel) {
    for (Flight flight : flightList) {
        if (flight.getFlightID() == flightID && flight.getDateOfJourney().equals(dateOfTravel)) {
            int availableSeats = 0;
            int seatPriceMultiplier = 1;

            switch (seatCategory.toLowerCase()) {
                case "business":
                    availableSeats = flight.getSeatCapacityBusinessClass();
                    seatPriceMultiplier = 3;
                    break;
                case "economy":
                    availableSeats = flight.getSeatCapacityEconomyClass();
                    seatPriceMultiplier = 1;
                    break;
                case "executive":
                    availableSeats = flight.getSeatCapacityExecutiveClass();
                    seatPriceMultiplier = 2;
                    break;
                default:
                    System.out.println("Invalid seat category. Please choose Business, Economy, or Executive.");
                    return;
            }

            if (noOfSeats > availableSeats) {
                System.out.println("No seats available under \"" + seatCategory + "\" Category for Booking. Please try searching in other seat category or search for another flight available on this route.");
            } else {
                // Calculate booking amount
                int bookingAmount = noOfSeats * flight.getAirFare() * seatPriceMultiplier;

                // Reduce the available seats
                switch (seatCategory.toLowerCase()) {
                    case "business":
                        flight.setSeatCapacityBusinessClass(availableSeats - noOfSeats);
                        break;
                    case "economy":
                        flight.setSeatCapacityEconomyClass(availableSeats - noOfSeats);
                        break;
                    case "executive":
                        flight.setSeatCapacityExecutiveClass(availableSeats - noOfSeats);
                        break;
                }

                // Create and add the booking
                Booking booking = new Booking(nextBookingID++, loggedInUserID, flightID, noOfSeats, seatCategory, dateOfTravel, "Booked", bookingAmount);
                bookingList.add(booking);

                System.out.println("Booking Successful! Your Booking ID is " + booking.getBookingID());
                System.out.println("Total Booking Amount: $" + booking.getBookingAmount());
            }
            return;
        }
    }
    System.out.println("No flight found with the given Flight ID and Date of Travel.");
}

}

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Admin admin = new Admin();
Scanner sc = new Scanner(System.in);
Customer customer = new Customer(1, "John Doe");

    while (true) {
        System.out.println("\n1. Admin - Add Flight");
        System.out.println("2. Admin - View All Flights");
        System.out.println("3. Admin - View Flight By ID");
        System.out.println("4. Admin - Edit Flight");
        System.out.println("5. Admin - Remove Flight");
        System.out.println("6. Customer - Search Flight");
        System.out.println("0. Exit");

        int choice = sc.nextInt();
        sc.nextLine();  // consume newline

        switch (choice) {
            case 1:
                System.out.println("Enter Carrier ID: ");
                int carrierID = sc.nextInt();
                sc.nextLine();  // consume newline

                System.out.println("Enter Origin: ");
                String origin = sc.nextLine();

                System.out.println("Enter Destination: ");
                String destination = sc.nextLine();

                System.out.println("Enter AirFare: ");
                int airFare = sc.nextInt();

                System.out.println("Enter Business Class Seats: ");
                int businessSeats = sc.nextInt();

                System.out.println("Enter Economy Class Seats: ");
                int economySeats = sc.nextInt();

                System.out.println("Enter Executive Class Seats: ");
                int executiveSeats = sc.nextInt();

                Flight flight = new Flight(carrierID, origin, destination, airFare, businessSeats, economySeats, executiveSeats);
                admin.addFlight(flight);
                break;

            case 2:
                admin.viewAllFlights();
                break;

            case 3:
                System.out.println("Enter Flight ID: ");
                int flightID = sc.nextInt();
                admin.viewFlightByID(flightID);
                break;

            case 4:
                System.out.println("Enter Flight ID: ");
                flightID = sc.nextInt();
                System.out.println("Enter new AirFare: ");
                int newAirFare = sc.nextInt();
                admin.editFlightDetails(flightID, newAirFare);
                break;

            case 5:
                System.out.println("Enter Flight ID: ");
                flightID = sc.nextInt();
                admin.removeFlightByID(flightID);
                break;

            case 6:
                System.out.println("Enter Origin: ");
                origin = sc.nextLine();
                System.out.println("Enter Destination: ");
                destination = sc.nextLine();
                customer.searchFlight(admin.flightList, origin, destination);
                break;

            case 0:
                System.out.println("Exiting...");
                sc.close();
                return;

            default:
                System.out.println("Invalid choice. Please try again.");
        }
    }
}

}

public class Flight {
private int flightID;
private int carrierID;
private String origin;
private String destination;
private int airFare;
private int seatCapacityBusinessClass;
private int seatCapacityEconomyClass;
private int seatCapacityExecutiveClass;

private static int flightCounter = 1;

public Flight(int carrierID, String origin, String destination, int airFare, 
              int businessClassSeats, int economyClassSeats, int executiveClassSeats) {
    this.flightID = flightCounter++;
    this.carrierID = carrierID;
    this.origin = origin;
    this.destination = destination;
    this.airFare = airFare;
    this.seatCapacityBusinessClass = businessClassSeats;
    this.seatCapacityEconomyClass = economyClassSeats;
    this.seatCapacityExecutiveClass = executiveClassSeats;
}

public void displayFlightDetails() {
    System.out.println("Flight ID: " + flightID);
    System.out.println("Carrier ID: " + carrierID);
    System.out.println("Origin: " + origin);
    System.out.println("Destination: " + destination);
    System.out.println("AirFare: " + airFare);
    System.out.println("Business Class Seats: " + seatCapacityBusinessClass);
    System.out.println("Economy Class Seats: " + seatCapacityEconomyClass);
    System.out.println("Executive Class Seats: " + seatCapacityExecutiveClass);
}

// Getters and setters as needed
public int getFlightID() {
    return flightID;
}

public String getOrigin() {
    return origin;
}

public String getDestination() {
    return destination;
}

public int getAirFare() {
    return airFare;
}

}

import java.util.ArrayList;

public class Admin {
private ArrayList<Flight> flightList = new ArrayList<>();

public void addFlight(Flight flight) {
    flightList.add(flight);
    System.out.println("Flight Information Saved Successfully in the System.");
}

public void viewAllFlights() {
    if (flightList.isEmpty()) {
        System.out.println("No flights available.");
    } else {
        for (Flight flight : flightList) {
            flight.displayFlightDetails();
            System.out.println("---------------------------");
        }
    }
}

public void viewFlightByID(int flightID) {
    for (Flight flight : flightList) {
        if (flight.getFlightID() == flightID) {
            flight.displayFlightDetails();
            return;
        }
    }
    System.out.println("Either the data is incorrect or no Flight Information is available for the given Flight ID.");
}

public void editFlightDetails(int flightID, int newAirFare) {
    for (Flight flight : flightList) {
        if (flight.getFlightID() == flightID) {
            // Assume only updating AirFare for now
            flight.setAirFare(newAirFare);
            System.out.println("Flight details updated successfully.");
            return;
        }
    }
    System.out.println("No flight found with the given Flight ID.");
}

public void removeFlightByID(int flightID) {
    for (int i = 0; i < flightList.size(); i++) {
        if (flightList.get(i).getFlightID() == flightID) {
            flightList.remove(i);
            System.out.println("Flight Information successfully removed from system.");
            return;
        }
    }
    System.out.println("Either the data is incorrect or no Flight Information is available for the given Flight ID.");
}

}

public class Customer {
private int userID;
private String userName;

public Customer(int userID, String userName) {
    this.userID = userID;
    this.userName = userName;
}

public void searchFlight(ArrayList<Flight> flightList, String origin, String destination) {
    boolean flightFound = false;
    for (Flight flight : flightList) {
        if (flight.getOrigin().equalsIgnoreCase(origin) && flight.getDestination().equalsIgnoreCase(destination)) {
            flight.displayFlightDetails();
            flightFound = true;
        }
    }
    if (!flightFound) {
        System.out.println("No flights found for the given criteria.");
    }
}

// Booking logic would go here...

}

package Airline.com;

import java.util.Scanner;

public class FlightDetails {
private int flightID;
private int carrierID;
private String origin;
private String destination;
private int airFare;
private int seatCapacityBusiness;
private int seatCapacityEconomy;
private int seatCapacityExecutive;
private static int flightCounter = 1;

// Constructor
public FlightDetails(int carrierID, String origin, String destination, int airFare, int seatCapacityBusiness, int seatCapacityEconomy, int seatCapacityExecutive) {
    this.flightID = flightCounter++;
    this.carrierID = carrierID;
    this.origin = origin;
    this.destination = destination;
    this.airFare = airFare;
    this.seatCapacityBusiness = seatCapacityBusiness;
    this.seatCapacityEconomy = seatCapacityEconomy;
    this.seatCapacityExecutive = seatCapacityExecutive;
}

// Method to display flight details
public void displayFlightDetails() {
    System.out.println("Flight ID: " + flightID);
    System.out.println("Carrier ID: " + carrierID);
    System.out.println("Origin: " + origin);
    System.out.println("Destination: " + destination);
    System.out.println("AirFare: " + airFare);
    System.out.println("Business Class Seats: " + seatCapacityBusiness);
    System.out.println("Economy Class Seats: " + seatCapacityEconomy);
    System.out.println("Executive Class Seats: " + seatCapacityExecutive);
}

// Getters and setters for flight details can be added here

}

package Airline.com;

import java.util.ArrayList;

public class FlightManagement {
private ArrayList<FlightDetails> flights = new ArrayList<>();

public void addFlight(FlightDetails flight) {
    flights.add(flight);
    System.out.println("Flight Information Saved Successfully in the System");
}

public void viewAllFlights() {
    if (flights.isEmpty()) {
        System.out.println("No flights available.");
    } else {
        for (FlightDetails flight : flights) {
            flight.displayFlightDetails();
        }
    }
}

public void viewFlightByID(int flightID) {
    for (FlightDetails flight : flights) {
        if (flight.getFlightID() == flightID) {
            flight.displayFlightDetails();
            return;
        }
    }
    System.out.println("Either the data is incorrect or no Flight Information is available for the given Flight ID.");
}

// Edit and remove flight details methods can be implemented here

}