Question: What am I doing wrong in this program ? ? / / ShipDemo . java package daway.s; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class

What am I doing wrong in this program ??
//ShipDemo.java
package daway.s;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class ShipDemo
{private static List ships = new ArrayList<>();
public static void main(String[] args)
{Scanner input = new Scanner(System.in);
int choice;
do
{choice = menu(input);
switch (choice)
{case 1:
addShip(input);
break;
case 2:
addCruiseShip(input);
break;
case 3:
addCargoShip(input);
break;
case -1:
printShips();
break;
default:
System.out.println("Invalid option. Please try again.");}}
while (choice !=-1);}
private static int menu(Scanner input)
{System.out.println("**********Menu**********");
System.out.println("Enter 1 for a Ship");
System.out.println("Enter 2 for a Cruise Ship");
System.out.println("Enter 3 for a Cargo Ship");
System.out.println("Enter -1 to exit");
System.out.print("Please enter your choice: ");
return input.nextInt();}
private static void addShip(Scanner input)
{System.out.print("Enter the name of the ship: ");
String name = input.next();
System.out.print("Enter the year the ship was built: ");
String year = input.next();
ships.add(new Ship(name, year));}
private static void addCruiseShip(Scanner input)
{System.out.print("Enter the name of the cruise ship: ");
String name = input.next();
System.out.print("Enter the year the ship was built: ");
String year = input.next();
System.out.print("Enter the maximum number of passengers: ");
int passengers = input.nextInt();
ships.add(new CruiseShip(name, year, passengers));}
private static void addCargoShip(Scanner input)
{System.out.print("Enter the name of the cargo ship: ");
String name = input.next();
System.out.print("Enter the year the ship was built: ");
String year = input.next();
System.out.print("Enter the cargo capacity in tons: ");
int tons = input.nextInt();
ships.add(new CargoShip(name, year, tons));}
private static void printShips()
{for (Ship ship : ships)
{System.out.println(ship);}}
}
}
}
//CargoShip.java
package daway.s;
public class CargoShip
{
public class CargoShip extends Ship
{private int tons;
public CargoShip(String name, String year, int tons)
{super(name, year);
this.tons = tons;}
public int getTons()
{return tons;}
public void setTons(int tons) C
{this.tons = tons;}
@Override
public String toString()
{return "Cargo Ship Name: "+ getName()+", Cargo Capacity: "+ tons +" tons";}
}
//CruiseShip.java
package daway.s;
public class CruiseShip
{
public class CruiseShip extends Ship
{private int passengers;
public CruiseShip(String name, String year, int passengers)
{super(name, year);
this.passengers = passengers;}
public int getPassengers()
{return passengers;}
public void setPassengers(int passengers)
{this.passengers = passengers;}
@Override
public String toString()
{return "Cruise Ship Name: "+ getName()+", Passengers: "+ passengers;}
}
//Ship.java
package daway.s;
public class Ship
{
public class Ship
{private String name;
private String year;
public Ship(String name, String year)
{this.name = name;
this.year = year;}
public String getName()
{return name;}
public void setName(String name)
{this.name = name;}
public String getYear()
{return year;}
public void setYear(String year)
{this.year = year;}
@Override
public String toString()
{return "Ship Name: "+ name +", Year: "+ year;}
}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!