java programming
CruiseShipProject/.classpath
CruiseShipProject/.project
CruiseShipProject org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature
CruiseShipProject/.settings/org.eclipse.jdt.core.prefs
eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=9 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=9 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=9
CruiseShipProject/bin/Cruise.class
public synchronized class Cruise { private String cruiseName; private String cruiseShipName; private String departurePort; private String destination; private String returnPort; void Cruise(); void Cruise(String, String, String, String, String); public String getCruiseName(); public String getCruiseShipName(); public String getDeparturePort(); public String getDestination(); public String getReturnPort(); public void setCruiseName(String); public void setCruiseShipName(String); public void setDeparturePort(String); public void setDestination(String); public void setReturnPort(String); public void printCruiseDetails(); public String toString(); }
CruiseShipProject/bin/Driver.class
public synchronized class Driver { private static java.util.ArrayList shipList; private static java.util.ArrayList cruiseList; private static java.util.ArrayList passengerList; static void <clinit>(); public void Driver(); public static void main(String[]); public static void initializeShipList(); public static void initializeCruiseList(); public static void initializePassengerList(); public static void add(String, int, int, int, int, boolean); public static void printShipList(String); public static void printCruiseList(String); public static void printPassengerList(); public static void displayMenu(); public static void addShip(); public static void editShip(); public static void addCruise(); public static void editCruise(); public static void addPassenger(); public static void editPassenger(); public static boolean isANumber(String); }
CruiseShipProject/bin/Passenger.class
public synchronized class Passenger { private String passengerName; private String passengerCruise; private String passengerRoomType; void Passenger(); void Passenger(String, String, String); public String getPassengerName(); public String getPassengerCruise(); public String getPassengerRoomType(); public void setPassengerName(String); public void setPassengerCruise(String); public void setPassengerRoomType(String); public void printPassenger(); public String toString(); }
CruiseShipProject/bin/Ship.class
public synchronized class Ship { private String shipName; private int roomBalcony; private int roomOceanView; private int roomSuite; private int roomInterior; private boolean inService; void Ship(); void Ship(String, int, int, int, int, boolean); public String getShipName(); public int getRoomBalcony(); public int getRoomOceanView(); public int getRoomSuite(); public int getRoomInterior(); public boolean getInService(); public void setShipName(String); public void setRoomBalcony(int); public void setRoomOceanView(int); public void setRoomSuite(int); public void setRoomInterior(int); public void setInService(boolean); public void printShipData(); public String toString(); }
CruiseShipProject/src/Cruise.java
CruiseShipProject/src/Cruise.java
public
class
Cruise
{
// Class Variables
private
String
cruiseName
;
private
String
cruiseShipName
;
private
String
departurePort
;
private
String
destination
;
private
String
returnPort
;
// Constructor - default
Cruise
()
{
}
// Constructor - full
Cruise
(
String
tCruiseName
,
String
tShipName
,
String
tDeparture
,
String
tDestination
,
String
tReturn
)
{
cruiseName
=
tCruiseName
;
cruiseShipName
=
tShipName
;
departurePort
=
tDeparture
;
destination
=
tDestination
;
returnPort
=
tReturn
;
}
// Accessors
public
String
getCruiseName
()
{
return
cruiseName
;
}
public
String
getCruiseShipName
()
{
return
cruiseShipName
;
}
public
String
getDeparturePort
()
{
return
departurePort
;
}
public
String
getDestination
()
{
return
destination
;
}
public
String
getReturnPort
()
{
return
returnPort
;
}
// Mutators
public
void
setCruiseName
(
String
tVar
)
{
cruiseName
=
tVar
;
}
public
void
setCruiseShipName
(
String
tVar
)
{
cruiseShipName
=
tVar
;
}
public
void
setDeparturePort
(
String
tVar
)
{
departurePort
=
tVar
;
}
public
void
setDestination
(
String
tVar
)
{
destination
=
tVar
;
}
public
void
setReturnPort
(
String
tVar
)
{
returnPort
=
tVar
;
}
// print cruise details
public
void
printCruiseDetails
()
{
// complete this method
}
// method added to print ship's name vice memory address
@
Override
public
String
toString
()
{
return
cruiseName
;
}
}
CruiseShipProject/src/Driver.java
CruiseShipProject/src/Driver.java
import
java
.
util
.
ArrayList
;
import
java
.
util
.
Scanner
;
import
static
java
.
lang
.
Integer
.
parseInt
;
public
class
Driver
{
// class variables (add more as needed)
private
static
ArrayList
<
Ship
>
shipList
=
new
ArrayList
();
private
static
ArrayList
<
Cruise
>
cruiseList
=
new
ArrayList
();
private
static
ArrayList
<
Passenger
>
passengerList
=
new
ArrayList
();
public
static
void
main
(
String
[]
args
)
{
initializeShipList
();
// initial ships
initializeCruiseList
();
// initial cruises
initializePassengerList
();
// initial passengers
// add loop and code here that accepts and validates user input
// and takes the appropriate action. include appropriate
// user feedback and redisplay the menu as needed
}
// hardcoded ship data for testing
// Initialize ship list
public
static
void
initializeShipList
()
{
add
(
"Candy Cane"
,
20
,
40
,
10
,
60
,
true
);
add
(
"Peppermint Stick"
,
10
,
20
,
5
,
40
,
true
);
add
(
"Bon Bon"
,
12
,
18
,
2
,
24
,
false
);
add
(
"Candy Corn"
,
12
,
18
,
2
,
24
,
false
);
}
// hardcoded cruise data for testing
// Initialize cruise list
public
static
void
initializeCruiseList
()
{
Cruise
newCruise
=
new
Cruise
(
"Southern Swirl"
,
"Candy Cane"
,
"Miami"
,
"Cuba"
,
"Miami"
);
cruiseList
.
add
(
newCruise
);
}
// hardcoded cruise data for testing
// Initialize passenger list
public
static
void
initializePassengerList
()
{
Passenger
newPassenger1
=
new
Passenger
(
"Neo Anderson"
,
"Southern Swirl"
,
"STE"
);
passengerList
.
add
(
newPassenger1
);
Passenger
newPassenger2
=
new
Passenger
(
"Trinity"
,
"Southern Swirl"
,
"STE"
);
passengerList
.
add
(
newPassenger2
);
Passenger
newPassenger3
=
new
Passenger
(
"Morpheus"
,
"Southern Swirl"
,
"BAL"
);
passengerList
.
add
(
newPassenger3
);
}
// custom method to add ships to the shipList ArrayList
public
static
void
add
(
String
tName
,
int
tBalcony
,
int
tOceanView
,
int
tSuite
,
int
tInterior
,
boolean
tInService
)
{
Ship
newShip
=
new
Ship
(
tName
,
tBalcony
,
tOceanView
,
tSuite
,
tInterior
,
tInService
);
shipList
.
add
(
newShip
);
}
public
static
void
printShipList
(
String
listType
)
{
// printShipList() method prints list of ships from the
// shipList ArrayList. There are three different outputs
// based on the listType String parameter:
// name - prints a list of ship names only
// active - prints a list of ship names that are "in service"
// full - prints tabbed data on all ships
if
(
shipList
.
size
()
<
1
)
{
System
.
out
.
println
(
"\nThere are no ships to print."
);
return
;
}
if
(
listType
==
"name"
)
{
System
.
out
.
println
(
"\n\nSHIP LIST - Name"
);
for
(
int
i
=
0
;
i
<
shipList
.
size
();
i
++
)
{
System
.
out
.
println
(
shipList
.
get
(
i
));
}
}
else
if
(
listType
==
"active"
)
{
System
.
out
.
println
(
"\n\nSHIP LIST - Active"
);
// complete this code block
}
else
if
(
listType
==
"full"
)
{
System
.
out
.
println
(
"\n\nSHIP LIST - Full"
);
System
.
out
.
println
(
"-----------------------------------------------"
);
System
.
out
.
println
(
" Number of Rooms In"
);
System
.
out
.
print
(
"SHIP NAME Bal OV Ste Int Service"
);
System
.
out
.
println
(
"\n-----------------------------------------------"
);
for
(
Ship
eachShip
:
shipList
)
eachShip
.
printShipData
();
}
else
System
.
out
.
println
(
"\n\nError: List type not defined."
);
}
public
static
void
printCruiseList
(
String
listType
)
{
if
(
cruiseList
.
size
()
<
1
)
{
System
.
out
.
println
(
"\nThere are no cruises to print."
);
return
;
}
if
(
listType
==
"list"
)
{
System
.
out
.
println
(
"\n\nCRUISE LIST"
);
for
(
int
i
=
0
;
i
<
cruiseList
.
size
();
i
++
)
{
System
.
out
.
println
(
cruiseList
.
get
(
i
));
}
}
else
if
(
listType
==
"details"
)
{
System
.
out
.
println
(
"\n\nCRUISE LIST - Details"
);
System
.
out
.
println
(
"------------------------------------------------------------------------------------------"
);
System
.
out
.
println
(
" |----------------------PORTS-----------------------|"
);
System
.
out
.
print
(
"CRUISE NAME SHIP NAME DEPARTURE DESTINATION RETURN"
);
System
.
out
.
println
(
"\n-----------------------------------------------------------------------------------------"
);
for
(
Cruise
eachCruise
:
cruiseList
)
eachCruise
.
printCruiseDetails
();
}
else
System
.
out
.
println
(
"\n\nError: List type not defined."
);
}
public
static
void
printPassengerList
()
{
if
(
passengerList
.
size
()
<
1
)
{
System
.
out
.
println
(
"\nThere are no passengers to print."
);
return
;
}
System
.
out
.
println
(
"\n\nPASSENGER LIST"
);
System
.
out
.
println
(
"-----------------------------------------------------"
);
System
.
out
.
print
(
"PASSENGER NAME CRUISE ROOM TYPE"
);
System
.
out
.
println
(
"\n-----------------------------------------------------"
);
for
(
Passenger
eachPassenger
:
passengerList
)
eachPassenger
.
printPassenger
();
}
// display text-based menu
public
static
void
displayMenu
()
{
System
.
out
.
println
(
"\n\n"
);
System
.
out
.
println
(
"\t\t\tLuxury Ocean Cruise Outings"
);
System
.
out
.
println
(
"\t\t\t\t\tSystem Menu\n"
);
System
.
out
.
println
(
"[1] Add Ship [A] Print Ship Names"
);
System
.
out
.
println
(
"[2] Edit Ship [B] Print Ship In Service List"
);
System
.
out
.
println
(
"[3] Add Cruise [C] Print Ship Full List"
);
System
.
out
.
println
(
"[4] Edit Cruise [D] Print Cruise List"
);
System
.
out
.
println
(
"[5] Add Passenger [E] Print Cruise Details"
);
System
.
out
.
println
(
"[6] Edit Passenger [F] Print Passenger List"
);
System
.
out
.
println
(
"[x] Exit System"
);
System
.
out
.
println
(
"\nEnter a menu selection: "
);
}
// Add a New Ship
public
static
void
addShip
()
{
// complete this method
}
// Edit an existing ship
public
static
void
editShip
()
{
// This method does not need to be completed
System
.
out
.
println
(
"The \"Edit Ship\" feature is not yet implemented."
);
}
// Add a New Cruise
public
static
void
addCruise
()
{
// complete this method
}
// Edit an existing cruise
public
static
void
editCruise
()
{
// This method does not need to be completed
System
.
out
.
println
(
"The \"Edit Cruise\" feature is not yet implemented."
);
}
// Add a New Passenger
public
static
void
addPassenger
()
{
Scanner
newPassengerInput
=
new
Scanner
(
System
.
in
);
System
.
out
.
println
(
"Enter the new passenger's name: "
);
String
newPassengerName
=
newPassengerInput
.
nextLine
();
// ensure new passenger name does not already exist
for
(
Passenger
eachPassenger
:
passengerList
)
{
if
(
eachPassenger
.
getPassengerName
().
equalsIgnoreCase
(
newPassengerName
))
{
System
.
out
.
println
(
"That passenger is already in the system. Exiting to menu..."
);
return
;
// quits addPassenger() method processing
}
}
// get cruise name for passenger
System
.
out
.
println
(
"Enter cruise name: "
);
String
newCruiseName
=
newPassengerInput
.
nextLine
();
// ensure cruise exists
for
(
Cruise
eachCruise
:
cruiseList
)
{
if
(
eachCruise
.
getCruiseName
().
equalsIgnoreCase
(
newCruiseName
))
{
// cruise does exist
}
else
{
System
.
out
.
println
(
"That cruise does not exist in the system. Exiting to menu..."
);
return
;
// quits addPassenger() method processing
}
}
// get room type
System
.
out
.
println
(
"Enter Room Type (BAL, OV, STE, or INT: "
);
String
room
=
newPassengerInput
.
nextLine
();
// validate room type
if
((
room
.
equalsIgnoreCase
(
"BAL"
))
||
(
room
.
equalsIgnoreCase
(
"OV"
))
||
(
room
.
equalsIgnoreCase
(
"STE"
))
||
(
room
.
equalsIgnoreCase
(
"INT"
)))
{
// validation passed - add passenger
Passenger
newPassenger
=
new
Passenger
(
newPassengerName
,
newCruiseName
,
room
.
toUpperCase
());
passengerList
.
add
(
newPassenger
);
}
else
{
System
.
out
.
println
(
"Invalid input. Exiting to menu..."
);
return
;
// quits addPassenger() method processing
}
}
// Edit an existing passenger
public
static
void
editPassenger
()
{
// This method does not need to be completed
System
.
out
.
println
(
"The \"Edit Passenger\" feature is not yet implemented."
);
}
// Method to check if input is a number
public
static
boolean
isANumber
(
String
str
)
{
for
(
int
i
=
0
;
i
<
str
.
length
();
i
++
)
{
if
(
Character
.
isDigit
(
str
.
charAt
(
i
))
==
false
)
return
false
;
}
return
true
;
}
}
CruiseShipProject/src/Passenger.java
CruiseShipProject/src/Passenger.java
public
class
Passenger
{
// Class variables
private
String
passengerName
;
private
String
passengerCruise
;
private
String
passengerRoomType
;
// Constructor - default
Passenger
()
{
}
// Constructor - full
Passenger
(
String
pName
,
String
pCruise
,
String
pRoomType
)
{
passengerName
=
pName
;
passengerCruise
=
pCruise
;
passengerRoomType
=
pRoomType
;
// should be BAL, OV, STE, or INT
}
// Accessors
public
String
getPassengerName
()
{
return
passengerName
;
}
public
String
getPassengerCruise
()
{
return
passengerCruise
;
}
public
String
getPassengerRoomType
()
{
return
passengerRoomType
;
}
// Mutators
public
void
setPassengerName
(
String
tVar
)
{
passengerName
=
tVar
;
}
public
void
setPassengerCruise
(
String
tVar
)
{
passengerCruise
=
tVar
;
}
public
void
setPassengerRoomType
(
String
tVar
)
{
passengerRoomType
=
tVar
;
}
// print method
public
void
printPassenger
()
{
int
spaceCount
;
String
spaces1
=
""
;
String
spaces2
=
""
;
spaceCount
=
20
-
passengerName
.
length
();
for
(
int
i
=
1
;
i
<=
spaceCount
;
i
++
)
{
spaces1
=
spaces1
+
" "
;
}
spaceCount
=
20
-
passengerCruise
.
length
();
for
(
int
i
=
1
;
i
<=
spaceCount
;
i
++
)
{
spaces2
=
spaces2
+
" "
;
}
System
.
out
.
println
(
passengerName
+
spaces1
+
passengerCruise
+
spaces2
+
passengerRoomType
);
}
// method added to print passenger's name vice memory address
@
Override
public
String
toString
()
{
return
passengerName
;
}
}
CruiseShipProject/src/Ship.java
CruiseShipProject/src/Ship.java
public
class
Ship
{
// Class Variables
private
String
shipName
;
private
int
roomBalcony
;
private
int
roomOceanView
;
private
int
roomSuite
;
private
int
roomInterior
;
private
boolean
inService
;
// Constructor - default
Ship
()
{
}
// Constructor - full
Ship
(
String
tName
,
int
tBalcony
,
int
tOceanView
,
int
tSuite
,
int
tInterior
,
boolean
tInService
)
{
shipName
=
tName
;
roomBalcony
=
tBalcony
;
roomOceanView
=
tOceanView
;
roomSuite
=
tSuite
;
roomInterior
=
tInterior
;
inService
=
tInService
;
}
// Accessors
public
String
getShipName
()
{
return
shipName
;
}
public
int
getRoomBalcony
()
{
return
roomBalcony
;
}
public
int
getRoomOceanView
()
{
return
roomOceanView
;
}
public
int
getRoomSuite
()
{
return
roomSuite
;
}
public
int
getRoomInterior
()
{
return
roomInterior
;
}
public
boolean
getInService
()
{
return
inService
;
}
// Mutators
public
void
setShipName
(
String
tVar
)
{
shipName
=
tVar
;
}
public
void
setRoomBalcony
(
int
tVar
)
{
roomBalcony
=
tVar
;
}
public
void
setRoomOceanView
(
int
tVar
)
{
roomOceanView
=
tVar
;
}
public
void
setRoomSuite
(
int
tVar
)
{
roomSuite
=
tVar
;
}
public
void
setRoomInterior
(
int
tVar
)
{
roomInterior
=
tVar
;
}
public
void
setInService
(
boolean
tVar
)
{
inService
=
tVar
;
}
// print method
public
void
printShipData
()
{
int
spaceCount
;
String
spaces
=
""
;
spaceCount
=
20
-
shipName
.
length
();
for
(
int
i
=
1
;
i
<=
spaceCount
;
i
++
)
{
spaces
=
spaces
+
" "
;
}
System
.
out
.
println
(
shipName
+
spaces
+
roomBalcony
+
"\t"
+
roomOceanView
+
"\t"
+
roomSuite
+
"\t"
+
roomInterior
+
"\t\t"
+
inService
);
}
// method added to print ship's name vice memory address
@
Override
public
String
toString
()
{
return
shipName
;
}
}