Commit 5b990fd0 authored by 9731073's avatar 9731073

lastcommit

parent be0f6044
import java.util.ArrayList; 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 { public class Airplane {
String type; String type;
int freeSeatsNumber;
int seatsNumber=0;
String agency;
/**
* arraylist of the reserved seats in an airplane
*/
ArrayList<Seat> seats =new ArrayList<>(); ArrayList<Seat> seats =new ArrayList<>();
public Airplane(String type){ public Airplane(String type,String agency,int seatsNumber) {
this.type=type; this.type=type;
this.freeSeatsNumber=seatsNumber;
this.seatsNumber=seatsNumber;
this.agency=agency;
} }
/**
*
* @return the type of aircraft
*/
public String getType(){ public String getType(){
return type; 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 { public class DateAndTime {
int day; int day;
int hour; int hour;
int minute; public DateAndTime(int day,int hour){
public DateAndTime(int day,int hour,int minute){
this.day=day; this.day=day;
this.hour=hour; 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; import java.util.ArrayList;
/**
* @author Abtin Agjamirzaei
*
* flight class represents fields related to flights
*/
public class Flight { public class Flight {
int day; int day;
int hour; int hour;
int minute;
int id; int id;
String destination; String destination;
String source; String source;
String company; String company;
Airplane airplane; Airplane airplane;
DateAndTime dateAndTime; DateAndTime dateAndTime;
public Flight(int id,String source,String destination,String company,String airplaneType,int day,int hour,int minute){ String type;
dateAndTime=new DateAndTime(day,hour,minute); public Flight(int id,String source,String destination,String company,Airplane airplane,int day,int hour){
airplane=new Airplane(airplaneType); this.airplane=airplane;
this.destination=destination; this.destination=destination;
this.source=source; this.source=source;
this.company=company; this.company=company;
this.id=id; 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(){ public int getId(){
return id; return id;
} }
public String getDestination(){ /**
*
* @return destination of the flight
*/
public String getDestination() {
return destination; return destination;
} }
public String getSource(){ /**
*
* @return source of the flight
*/
public String getSource() {
return source; return source;
} }
/**
*
* @return airplain's company (airline)
*/
public String getCompany(){ public String getCompany(){
return company; return company;
} }
/**
*
* @return object of airplane
*/
public Airplane getAirplane(){ public Airplane getAirplane(){
return airplane; return airplane;
} }
/**
*
* @return dateandtime of the flight
*/
public DateAndTime getDateTime(){ public DateAndTime getDateTime(){
return dateAndTime; 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 { public class Seat {
/**
* @author Abtin Aghamirzaei
*
* this class indicates a seat and it's features for us
*/
String type; String type;
int number; int number;
User user; User user;
...@@ -7,16 +11,39 @@ public class Seat { ...@@ -7,16 +11,39 @@ public class Seat {
this.type=type; this.type=type;
this.number=number; this.number=number;
} }
/**
*
* @return type of the seat which can be business class, first class or economic class
*/
public String getType(){ public String getType(){
return type; return type;
} }
/**
*
* @return seat's number
*/
public int getNumber(){ public int getNumber(){
return number; 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){ public void setUser(String userFirstName,String userFamilyName,int userId){
user=new User(userFirstName,userFamilyName,userId); user=new User(userFirstName,userFamilyName,userId);
} }
/**
*
* @return the user who has reserved the seat
*/
public User getUser(){ public User getUser(){
return user; 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 { 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; import java.util.ArrayList;
/**
* @author Abtin Aghamirzaei
* this class is our users's class
*/
public class User { public class User {
String firstName; String firstName;
String lastName; String lastName;
...@@ -10,16 +14,34 @@ public class User { ...@@ -10,16 +14,34 @@ public class User {
this.lastName=lastName; this.lastName=lastName;
this.id=id; this.id=id;
} }
/**
*
* @returnour user's first name
*/
public String getFirstName(){ public String getFirstName(){
return firstName; return firstName;
} }
/**
*
* @returnour user's last name
*/
public String getLastName(){ public String getLastName(){
return lastName; return lastName;
} }
/**
*
* @return our user's ID
*/
public int getId(){ public int getId(){
return id; 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