Commit 5b990fd0 authored by 9731073's avatar 9731073

lastcommit

parent be0f6044
import java.util.ArrayList;
/**
* @author Abtin Aghamirzaei
* this class is airplane class and airplane are collaborated
* with seat and flight classes directly
*/
public class Airplane {
String type;
int freeSeatsNumber;
int seatsNumber=0;
String agency;
/**
* arraylist of the reserved seats in an airplane
*/
ArrayList<Seat> seats =new ArrayList<>();
public Airplane(String type){
public Airplane(String type,String agency,int seatsNumber) {
this.type=type;
this.freeSeatsNumber=seatsNumber;
this.seatsNumber=seatsNumber;
this.agency=agency;
}
/**
*
* @return the type of aircraft
*/
public String getType(){
return type;
}
public void reserveSeat(Seat s){
seats.add(s);
/**
* this methode takes a seat and checks if that seat is already occupied or not
* and if the seat is free it reserves the seat otherwise nothing
* @param seat is the seat which should be checked
* @return if the seat is free it returns false and if the seat is full it returns true
*/
public boolean reserveSeat(Seat seat){
if(seats.contains(seat)) {
java.lang.System.out.println("seat is reserved");
return false;
}
else{
seats.add(seat);
seatsNumber++;
return true;
}
}
/**
*
* @return the airplane's agency (or airline)
*/
public String getAgency() {
return agency;
}
/**
*
* @return all reserved seats in airplane
*/
public ArrayList getSeats(){
return seats;
}
/**
*
* @return number of the seats
*/
public int getSeatsNumber(){
return seatsNumber;
}
}
/**
* @author Abtin Aghamirzaei
*
* this class manages the time of flight
*/
public class DateAndTime {
int day;
int hour;
int minute;
public DateAndTime(int day,int hour,int minute){
public DateAndTime(int day,int hour){
this.day=day;
this.hour=hour;
this.minute=minute;
}
/**
*
* @return the hour of the flight
*/
public int getHour() {
return hour;
}
/**
*
* @return the day of the flight
*/
public int getDay() {
return day;
}
/**
*
* @param hour
* sets hour of the flight
*/
public void setHour(int hour) {
this.hour = hour;
}
/**
*
* @param day
* sets day of the flight
*/
public void setDay(int day) {
this.day = day;
}
}
import java.util.ArrayList;
/**
* @author Abtin Agjamirzaei
*
* flight class represents fields related to flights
*/
public class Flight {
int day;
int hour;
int minute;
int id;
String destination;
String source;
String company;
Airplane airplane;
DateAndTime dateAndTime;
public Flight(int id,String source,String destination,String company,String airplaneType,int day,int hour,int minute){
dateAndTime=new DateAndTime(day,hour,minute);
airplane=new Airplane(airplaneType);
String type;
public Flight(int id,String source,String destination,String company,Airplane airplane,int day,int hour){
this.airplane=airplane;
this.destination=destination;
this.source=source;
this.company=company;
this.id=id;
this.day=day;
this.hour=hour;
this.type=airplane.getType();
this.company=airplane.getAgency();
this.dateAndTime.setHour(hour);
this.dateAndTime.setDay(day);
}
/**
*
* @return type of the Aircraft
*/
public String getType(){
return type;
}
/**
*
* @return flight number
*/
public int getId(){
return id;
}
public String getDestination(){
/**
*
* @return destination of the flight
*/
public String getDestination() {
return destination;
}
public String getSource(){
/**
*
* @return source of the flight
*/
public String getSource() {
return source;
}
/**
*
* @return airplain's company (airline)
*/
public String getCompany(){
return company;
}
/**
*
* @return object of airplane
*/
public Airplane getAirplane(){
return airplane;
}
/**
*
* @return dateandtime of the flight
*/
public DateAndTime getDateTime(){
return dateAndTime;
}
/**
*
* @param flight which is a flight object
* shows details of a specific flight
*/
public void show(Flight flight){
java.lang.System.out.println(flight.getDateTime());
java.lang.System.out.println(flight.getDestination());
java.lang.System.out.println(flight.getCompany());
java.lang.System.out.println(flight.getType());
java.lang.System.out.println(flight.getId());
}
}
public class Seat {
/**
* @author Abtin Aghamirzaei
*
* this class indicates a seat and it's features for us
*/
String type;
int number;
User user;
......@@ -7,16 +11,39 @@ public class Seat {
this.type=type;
this.number=number;
}
/**
*
* @return type of the seat which can be business class, first class or economic class
*/
public String getType(){
return type;
}
/**
*
* @return seat's number
*/
public int getNumber(){
return number;
}
/**
*
* @param userId is our user ID who booked the seat and set this ID
*/
public void setUser(String userFirstName,String userFamilyName,int userId){
user=new User(userFirstName,userFamilyName,userId);
}
/**
*
* @return the user who has reserved the seat
*/
public User getUser(){
return user;
}
/**
*
* @return the ID of the user who has reserved this seat already
*/
public int getUserId(){
return user.getId();
}
}
import java.util.ArrayList;
/**
* @author Abtin Aghamirzaei
*
* this class manages the booking flights
*/
public class System {
ArrayList<Flight> flights = new ArrayList<>();
/**
*
* @return flights
*/
public ArrayList getFlights(){
return flights;
}
/**
*
* @param flight
* add a flight to our list
*/
public void addFlight(Flight flight){
flights.add(flight);
}
/**
*
* @param flight
* removes a flight from our list
*/
public void removeFlight(Flight flight){
flights.remove(flight);
}
/**
*
*
* chooses a seat and reserves it for a user
*/
public void chooseSeat(int flightNumber,int seatNumber,User user,boolean food,int luggage/*,Ticket ticket*/){
Ticket ticket =new Ticket(flightNumber,seatNumber,luggage,food);
flights.get(flightNumber).getAirplane().getSeats().get(seatNumber);
for (int i = 0; i < flights.get(flightNumber).getAirplane().seatsNumber; i++) {
if(seatNumber==flights.get(flightNumber).getAirplane().seats.get(i).number){
//flights.get(flightNumber).getAirplane().reserveSeat(flights.get(flightNumber).getAirplane().seats.get(i));
user.reserve(ticket,flights.get(flightNumber).getAirplane().seats.get(i));
}
}
}
}
public class Ticket {
/**
* @author Abtin Aghamirzaei
*
* this class is for simulating a ticket
*/
public class Ticket {
int seatNumber;
int flightNumber;
Boolean food;
Seat seat;
int luggage;
Flight flight;
public Ticket(int flightNumber,int seatNumber,int luggage,boolean food){
this.flightNumber=flightNumber;
this.seatNumber=seatNumber;
this.food=food;
this.luggage=luggage;
}
/**
*
* @return the object of user's seat
*/
public int getSeatNumber(){
return seatNumber;
}
/**
*
* @return user's flight number ( which is obviously mentioned in the ticket)
*/
public int getFlightNumber(){
return flightNumber;
}
/**
*
* @return user's seat number
*/
public Seat getSeat() {
return seat;
}
/**
* each user can have a meal
* @return if a user wants food or not
*/
public boolean getFood(){
return food;
}
/**
*
* @return the flight that user is going to use it
*/
public Flight getFlight() {
return flight;
}
/**
* each user can have a specific amount of luggage
* @return the user's luggage weight
*/
public int getLuggage(){
return luggage;
}
}
import java.util.ArrayList;
/**
* @author Abtin Aghamirzaei
* this class is our users's class
*/
public class User {
String firstName;
String lastName;
......@@ -10,16 +14,34 @@ public class User {
this.lastName=lastName;
this.id=id;
}
/**
*
* @returnour user's first name
*/
public String getFirstName(){
return firstName;
}
/**
*
* @returnour user's last name
*/
public String getLastName(){
return lastName;
}
/**
*
* @return our user's ID
*/
public int getId(){
return id;
}
public void reserve(Seat seat,Boolean food,int weight){
/**
*
* @param ticket which is a ticket that our customer wants to buy
* customer buy the ticket ad the seat will be booked
*/
public void reserve(Ticket ticket,Seat seat){
ticket.getFlight().getAirplane().reserveSeat(ticket.getSeat());
tickets.add(ticket);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment