-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFlight.java
More file actions
126 lines (113 loc) · 3.34 KB
/
Flight.java
File metadata and controls
126 lines (113 loc) · 3.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
class Flight {
private String FlightNumber;
private String[] Cities = {"Dammam", "Jeddah", "Yanbu", "Abha", "Hail", "Tabuk", "Taif"};
private int Destination;
private int Gate;
private String Date;
private String DepartureTime;
private String ArrivalTime;
public static int TotalFlights = 0;
//Constructors
public Flight(){
TotalFlights++;
FlightNumber ="";
Destination =0;
Gate = 0;
Date = "";
DepartureTime="";
ArrivalTime="";
}
public Flight(int destination, String date, int gate, String departure){
TotalFlights++;
Destination=destination;
Date=date;
Gate=gate;
DepartureTime=departure;
calculateArrivalTime();
generateFlightNumber();
}
//setters
public void setDestination(int destination ) {
Destination = destination;
}
public void setDate(String date){
Date=date;
}
public void setGate(int gate){
Gate = gate;
}
public void setDepartureTime(String dep){
DepartureTime = dep;
}
public void setArrivalTime(String arr){
ArrivalTime = arr;
}
//getters
public String getFlightNumber(){
return FlightNumber;
}
public int getDestination(){
return Destination;
}
public String getDate(){
return Date;
}
public int getGate(){
return Gate;
}
public String getDepartureTime(){
return DepartureTime;
}
public String getArrivalTime(){
return ArrivalTime;
}
//generate flight number
public void generateFlightNumber(){
FlightNumber = Cities[Destination-1].substring(0,3).toUpperCase()+"00"+TotalFlights;
}
//calculate arrival time
public void calculateArrivalTime(){
int hour = Integer.parseInt(DepartureTime.substring(0,DepartureTime.indexOf(':')));
int min = Integer.parseInt(DepartureTime.substring(DepartureTime.indexOf(':')+1));
hour++;
switch(Destination){
case 1:
min += 5;
break;
case 2: case 3: case 4:
min += 45;
break;
case 5:
min += 15;
break;
case 6:
min += 20;
break;
case 7:
min += 35;
}//end switch
if (min>=60){
hour++;
min -= 60;
}
if (hour>=24){
hour -= 24;
if (hour<10 && min<10) ArrivalTime= "0"+hour+":0"+min+" +1";
else if (hour<10 && min>=10) ArrivalTime= "0"+hour+":"+min+" +1";
else if (hour>=10 && min<10) ArrivalTime= hour+":0"+min+" +1";
else ArrivalTime= hour+":"+min+" +1";
} else{
if (hour<10 && min<10) ArrivalTime= "0"+hour+":0"+min;
else if (hour<10 && min>=10) ArrivalTime= "0"+hour+":"+min;
else if (hour>=10 && min<10) ArrivalTime= hour+":0"+min;
else ArrivalTime= hour+":"+min;
}
}
//print flight info
public void printFlightInfo(){
System.out.printf("Flight Number: %-15s Gate: %-15d %n",FlightNumber, Gate );
System.out.printf("Destination: %-15s Date: %-15s %n",Cities[Destination-1],Date);
System.out.printf("Depature Time: %-15s Arrival Time: %-15s %n", DepartureTime,ArrivalTime);
System.out.println();
}
}