Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

After a few days of plundering unknowing spacecraft, our hull has become weak. After stopping at a nearby space station, we take a look at

After a few days of plundering unknowing spacecraft, our hull has become weak. After stopping at a nearby space station, we take a look at the damage. The weight of the loot that we have added to the hull has caused stress fractures that could potentially destroy our ship. We decide to sell the contents of our ship to pay for an upgrade to our cargo hold. We make our way to our usual fence, the small green alien named Gweedar. After selling the contents of our cargo hold, we have just enough credits to purchase a new upgrade. We then head to the engineering post. After talking to the head engineer, he suggests we purchase the Cargo Hold modification. Some of the perks of this upgrade is the special indexing application that comes with it. This application lets us assign attributes of our choosing to each item in the cargo bay. After the modification is installed, we head back out into the void of space to continue our plundering.

Items now have attributes such as Name, Weight, Value, Durability and ID. (Create an object called Item)

We can still only carry 10 items.

We need to be able to add and remove items by their name.

We need to be able to search for a specific type of item in our cargo bay based on the items name and one of its attributes (Implement 2 searches one on name and another on any attribute you choose).

We need to be able to sort items by their names alphabetically in descending order (A-Z)

We need to know how many of each item we have in our cargo bay and display their attributes.

Using the same code as assignment 1 you can make your changes. I have included some base code for your convenience (This is 2 classes, Assignment2 and Item).

import java.util.Scanner;

public class Assignment02Driver {

Scanner input = new Scanner(System.in);

public static void main(String[] args) {

new Assignment01Driver();

}

// This will act as our program switchboard

public Assignment02Driver() {

Item[] cargohold = new Item[10];

System.out.println("Welcome to the BlackStar Cargo Hold interface.");

System.out.println("Please select a number from the options below");

System.out.println("");

while (true) {

// Give the user a list of their options

System.out.println("1: Add an item to the cargo hold.");

System.out.println("2: Remove an item from the cargo hold.");

System.out.println("3: Sort the contents of the cargo hold.");

System.out.println("4: Search for an item.");

System.out.println("5: Display the items in the cargo hold.");

System.out.println("0: Exit the BlackStar Cargo Hold interface.");

// Get the user input

int userChoice = input.nextInt();

input.nextLine();

switch (userChoice) {

case 1:

addItem(cargohold);

break;

case 2:

removeItem(cargohold);

break;

case 3:

sortItems(cargohold);

break;

case 4:

searchItems(cargohold);

break;

case 5:

displayItems(cargohold);

break;

case 0:

System.out.println("Thank you for using the BlackStar Cargo Hold interface. See you again soon!");

System.exit(0);

}

}

}

private void addItem(Item cargohold[]) {

// TODO: Add an item that is specified by the user

}

private void removeItem(Item cargohold[]) {

// TODO: Remove an item that is specified by the user

}

private void sortItems(Item cargohold[]) {

// TODO: Sort the items in the cargo hold (No need to display them here) - Use Selection or Insertion sorts

// NOTE: Special care is needed when dealing with strings! research the compareTo() method with strings

}

private void searchItems(Item cargohold[]) {

// TODO: Search for a user specified item

}

private void displayItems(Item cargohold[]) {

// TODO: Display only the unique items along with a count of any duplicates

//

// For example it should say

// Food - 2

// Water - 3

// Ammunition - 5

}

}

// This item class should be in its own file.

public class Item {

// Declare attributes here

public Item(){

}

// Create an overridden constructor here

// Create accessors and mutators for your traits

}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Databases Organizing Information Digital And Information Literacy

Authors: Greg Roza

1st Edition

1448805929, 978-1448805921

More Books

Students also viewed these Databases questions