Question: Using JAVA, Design a Ship class that has the following members: A field for the name of the ship (a string) A field for the
Using JAVA, Design a Ship class that has the following members: A field for the name of the ship (a string) A field for the year that the ship was built (an int) A constructor and appropriate accessors and mutators, as well as constructors for no built year provided (set to -1) or no name provided (set to ), or neither provided. A toString method that displays the ships name and the year it was built. If the ship has no name or a negative year of build, unknown should be used instead.
Design a CruiseShip class that is derived from the Ship class. The CruiseShip class should have the following members: A field for the maximum number of passengers (an int) A constructor and appropriate accessors and mutators, as well as a constructor with only passengers. A toString method that overrides the according method in the superclass. The CruiseShip classs toString method should additionally display the maximum number of passengers.
Design a CargoShip class that is derived from the Ship class. The CargoShip class should have the following members: A field for the cargo capacity in tonnage (an int) A constructor and appropriate accessors and mutators, as well as a constructor with only tonnage. A toString method that overrides the according method in the superclass. The CargoShip classs toString method should additionally display the ships cargo capacity.
The Harbor class implements the following interfaces: 
Note that there is only one harbor with a fixed space. The Harbor will require a toString method that calls each ships respective toString method, i.e., lists all the ships currently anchored and the one that might be at the pier. If a ship tries to enter the harbor, but there are no anchor spots available, a boolean false should be returned. If the pier is busy, no other ships can be using it. Ships need to anchor before and after they use the pier.
EXAMPLE OUTPUT:
Created new ship: Unknown, built in Unknown Ships anchored: 1 [0]Unknown, built in Unknown [1] [2] [3] [4]
Created new ship: Cargo Ship SS Regulus, built in 1981, tonnage: 55355 Ships anchored: 2 [0]Unknown, built in Unknown [1]Cargo Ship SS Regulus, built in 1981, tonnage: 55355 [2] [3] [4]
Created new ship: Cruise Ship Santa Maria, built in 1460, passengers: 75 Ships anchored: 3 [0]Unknown, built in Unknown [1]Cargo Ship SS Regulus, built in 1981, tonnage: 55355 [2]Cruise Ship Santa Maria, built in 1460, passengers: 75 [3] [4]
Created new ship: Cruise Ship Carnival Triumph, built in 1999, passengers: 1100 Ships anchored: 4 [0]Unknown, built in Unknown [1]Cargo Ship SS Regulus, built in 1981, tonnage: 55355 [2]Cruise Ship Santa Maria, built in 1460, passengers: 75 [3]Cruise Ship Carnival Triumph, built in 1999, passengers: 1100 [4]
Created new ship: U-boat, built in Unknown Ships anchored: 5 [0]Unknown, built in Unknown [1]Cargo Ship SS Regulus, built in 1981, tonnage: 55355 [2]Cruise Ship Santa Maria, built in 1460, passengers: 75 [3]Cruise Ship Carnival Triumph, built in 1999, passengers: 1100 [4]U-boat, built in Unknown
Created new ship: Lusitania, built in 1915 Ships anchored: 5 [0]Unknown, built in Unknown [1]Cargo Ship SS Regulus, built in 1981, tonnage: 55355 [2]Cruise Ship Santa Maria, built in 1460, passengers: 75 [3]Cruise Ship Carnival Triumph, built in 1999, passengers: 1100 [4]U-boat, built in Unknown
Adding 0 to pier: true Ships anchored: 4 [0] [1]Cargo Ship SS Regulus, built in 1981, tonnage: 55355 [2]Cruise Ship Santa Maria, built in 1460, passengers: 75 [3]Cruise Ship Carnival Triumph, built in 1999, passengers: 1100 [4]U-boat, built in Unknown Ship at pier: Unknown, built in Unknown
Adding 1 to pier: false Ships anchored: 4 [0] [1]Cargo Ship SS Regulus, built in 1981, tonnage: 55355 Programming Assignment #02 Page 3 [2]Cruise Ship Santa Maria, built in 1460, passengers: 75 [3]Cruise Ship Carnival Triumph, built in 1999, passengers: 1100 [4]U-boat, built in Unknown Ship at pier: Unknown, built in Unknown Sailing 0 from harbor. Ships anchored: 3 [0] [1] [2]Cruise Ship Santa Maria, built in 1460, passengers: 75 [3]Cruise Ship Carnival Triumph, built in 1999, passengers: 1100 [4]U-boat, built in Unknown Ship at pier: Unknown, built in Unknown Sailing 4 from harbor. Ships anchored: 2 [0] [1] [2] [3]Cruise Ship Carnival Triumph, built in 1999, passengers: 1100 [4]U-boat, built in Unknown Ship at pier: Unknown, built in Unknown Ship is done at pier. Ships anchored: 3 [0]Unknown, built in Unknown [1] [2] [3]Cruise Ship Carnival Triumph, built in 1999, passengers: 1100 [4]U-boat, built in Unknown Adding 3 to pier: true Ships anchored: 2 [0]Unknown, built in Unknown [1] [2] [3] [4]U-boat, built in Unknown Ship at pier: Cruise Ship Carnival Triumph, built in 1999, passengers: 1100 Sailing 2 from harbor. Ships anchored: 2 [0]Unknown, built in Unknown [1] [2] [3] [4]U-boat, built in Unknown Ship at pier: Cruise Ship Carnival Triumph, built in 1999, passengers: 1100 Ship is done at pier. Ships anchored: 3 [0]Unknown, built in Unknown [1]Cruise Ship Carnival Triumph, built in 1999, passengers: 1100 [2] [3] [4]U-boat, built in Unknown 2.2 Scenario #2 Created new ship: Unknown, built in Unknown Ships anchored: 1 [0]Unknown, built in Unknown [1] [2] [3] [4] Created new ship: Cargo Ship Exxon Valdez, built in 1986, tonnage: 214861 Ships anchored: 2 [0]Unknown, built in Unknown [1]Cargo Ship Exxon Valdez, built in 1986, tonnage: 214861 [2] [3] [4] Created new ship: Cruise Ship Titanic, built in 1912, passengers: 3327 Ships anchored: 3 [0]Unknown, built in Unknown [1]Cargo Ship Exxon Valdez, built in 1986, tonnage: 214861 [2]Cruise Ship Titanic, built in 1912, passengers: 3327 [3] [4] Created new ship: Cargo Ship Edmund Fitzgerald, built in 1958, tonnage: 26000 Ships anchored: 4 [0]Unknown, built in Unknown [1]Cargo Ship Exxon Valdez, built in 1986, tonnage: 214861 [2]Cruise Ship Titanic, built in 1912, passengers: 3327 [3]Cargo Ship Edmund Fitzgerald, built in 1958, tonnage: 26000 [4] Created new ship: Rubber Duck, built in Unknown Ships anchored: 5 [0]Unknown, built in Unknown [1]Cargo Ship Exxon Valdez, built in 1986, tonnage: 214861 [2]Cruise Ship Titanic, built in 1912, passengers: 3327 [3]Cargo Ship Edmund Fitzgerald, built in 1958, tonnage: 26000 [4]Rubber Duck, built in Unknown Created new ship: Black Pearl, built in 1711 Ships anchored: 5 [0]Unknown, built in Unknown [1]Cargo Ship Exxon Valdez, built in 1986, tonnage: 214861 [2]Cruise Ship Titanic, built in 1912, passengers: 3327 [3]Cargo Ship Edmund Fitzgerald, built in 1958, tonnage: 26000 [4]Rubber Duck, built in Unknown Adding 0 to pier: true Ships anchored: 4 [0] [1]Cargo Ship Exxon Valdez, built in 1986, tonnage: 214861 [2]Cruise Ship Titanic, built in 1912, passengers: 3327 [3]Cargo Ship Edmund Fitzgerald, built in 1958, tonnage: 26000 [4]Rubber Duck, built in Unknown Ship at pier: Unknown, built in Unknown Adding 0 to pier: false Ships anchored: 4 [0] [1]Cargo Ship Exxon Valdez, built in 1986, tonnage: 214861 [2]Cruise Ship Titanic, built in 1912, passengers: 3327 [3]Cargo Ship Edmund Fitzgerald, built in 1958, tonnage: 26000 [4]Rubber Duck, built in Unknown Ship at pier: Unknown, built in Unknown Adding 1 to pier: false Ships anchored: 4 [0] [1]Cargo Ship Exxon Valdez, built in 1986, tonnage: 214861 [2]Cruise Ship Titanic, built in 1912, passengers: 3327 [3]Cargo Ship Edmund Fitzgerald, built in 1958, tonnage: 26000 [4]Rubber Duck, built in Unknown Ship at pier: Unknown, built in Unknown Sailing 1 from harbor. Ships anchored: 3 [0] [1] [2]Cruise Ship Titanic, built in 1912, passengers: 3327 [3]Cargo Ship Edmund Fitzgerald, built in 1958, tonnage: 26000 [4]Rubber Duck, built in Unknown Ship at pier: Unknown, built in Unknown Sailing 1 from harbor. Ships anchored: 2 [0] [1] [2]Cruise Ship Titanic, built in 1912, passengers: 3327 [3]Cargo Ship Edmund Fitzgerald, built in 1958, tonnage: 26000 [4]Rubber Duck, built in Unknown Ship at pier: Unknown, built in Unknown Ship is done at pier. Ships anchored: 3 [0]Unknown, built in Unknown [1] [2]Cruise Ship Titanic, built in 1912, passengers: 3327 [3]Cargo Ship Edmund Fitzgerald, built in 1958, tonnage: 26000 [4]Rubber Duck, built in Unknown Ship is done at pier. Ships anchored: 3 [0]Unknown, built in Unknown [1] [2]Cruise Ship Titanic, built in 1912, passengers: 3327 [3]Cargo Ship Edmund Fitzgerald, built in 1958, tonnage: 26000 [4]Rubber Duck, built in Unknown
1.4 Harbor The Harbor class implements the following interfaces: Listing 1: Interface definitions. 1 public interface LoadingPier 2 public boolean pierIsBusy) 1/ Whether or not a ship is using the pier 3 public boolean startPier(int anchorSpot); 11 Put a ship from anchor at the pier. 4 public boolean donePier): / Ship is done at the pier, put into anchor spot. 5 h 7 public interface Anchoring boolean anchorShipInHarbor(Ship ship); 9 Sails a ship into harbor. 10 11 I Ship sails away from anchor spot. 12 int shipsInHarborO: 13 How many ships are there? 14 void sailShipFromHarbor (int anchorSpot) 1.4 Harbor The Harbor class implements the following interfaces: Listing 1: Interface definitions. 1 public interface LoadingPier 2 public boolean pierIsBusy) 1/ Whether or not a ship is using the pier 3 public boolean startPier(int anchorSpot); 11 Put a ship from anchor at the pier. 4 public boolean donePier): / Ship is done at the pier, put into anchor spot. 5 h 7 public interface Anchoring boolean anchorShipInHarbor(Ship ship); 9 Sails a ship into harbor. 10 11 I Ship sails away from anchor spot. 12 int shipsInHarborO: 13 How many ships are there? 14 void sailShipFromHarbor (int anchorSpot)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
