Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Purpose: Data Structure and Algorithms Lab 3 Problem 1 & 2
- * Status: Complete and thoroughly tested
- * Last update: 02/7/18
- * Submitted: 02/8/18
- * Comment: test suite and sample run attached
- * @author: Ardit Pranvoku
- * @version: 2018.02.7
- */
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- public class Driver {
- static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- public static void main(String[] args) throws IOException {
- StackSLS<Order> bag = new StackSLS<Order>();
- StackSLS<Sample> sampleBag = new StackSLS<Sample>();
- String input = "";
- Integer index = 0;
- System.out.println("Please select a number.");
- System.out.println("0. Exit.");
- System.out.println("1. Pick up an order.");
- System.out.println("2. Drop off an order.");
- System.out.println("3. Display number of packages and weight of bag.");
- System.out.println("4. Display number of items and weight of the bag of samples.");
- System.out.println("5. Enjoy an item from the bag of samples.");
- System.out.println("6. Empty the bag of samples.");
- while (!(input.equals("0"))) {
- System.out.println("Make menu selection now:");
- input = br.readLine().trim();
- System.out.println(input);
- int option = 128;
- try {
- option = Integer.parseInt(input);
- } catch (NumberFormatException i) {
- System.out.println("Invalid input");
- }
- switch (option) {
- case 1:
- System.out.println("Please specify package info.");
- System.out.println("Please enter the item name.");
- String name = br.readLine();
- System.out.println(name);
- System.out.println("Please enter the order individual weight.");
- float weight = Float.parseFloat(br.readLine());
- System.out.println(weight);
- System.out.println("Please enter the total number of items.");
- int itemsInOrder = Integer.parseInt(br.readLine());
- System.out.println(itemsInOrder);
- System.out.println("Please enter the sender's name.");
- String sender = br.readLine();
- System.out.println(sender);
- System.out.println("Please enter the recipient's name.");
- String recipient = br.readLine();
- System.out.println(recipient);
- try {
- Order newOrder = new Order(name, weight, itemsInOrder, sender, recipient);
- bag.push(newOrder);
- System.out.println("A package of " + newOrder.getName() + " each weighing " + newOrder.getWeight() + " lbs has been added to the bag.");
- } catch (StackException e) {
- }
- break;
- case 2:
- try {
- Order newOrder = bag.pop();
- System.out.println("Here is your package " + newOrder.getRecipient() + ".");
- System.out.println("May I please keep a sample?(Y/N)");
- String request = br.readLine();
- if(request.equals("Y"))
- {
- System.out.println("Thanks for letting me keep a " + newOrder.getName() + " !");
- System.out.println("Your order contains " + newOrder.getItemsInOrder() + " " + newOrder.getName() + " each weighing "
- + newOrder.getWeight() + " from " + newOrder.getSender() + " to " + newOrder.getRecipient() + ".");
- sampleBag.push(new Sample(newOrder.getName(), newOrder.getWeight()));
- }
- else
- {
- System.out.println("Thanks anyway.");
- System.out.println("Your order contains " + newOrder.getItemsInOrder() + " " + newOrder.getName() + " each weighing "
- + newOrder.getWeight() + " from " + newOrder.getSender() + " to " + newOrder.getRecipient() + ".");
- sampleBag.push(new Sample(newOrder.getName(), newOrder.getWeight()));
- }
- } catch (StackException e) {
- System.out.println("No deliveries to process.");
- }
- break;
- case 3:
- try {
- float totalWeight = 0;
- StackRA<Order> weightBag = new StackRA<Order>();
- weightBag = bag;
- int numItems = 0;
- while(!weightBag.isEmpty())
- {
- Order weightOrder = weightBag.pop();
- System.out.println("Hello.");
- totalWeight += (weightOrder.getWeight()* weightOrder.getItemsInOrder());
- numItems++;
- }
- System.out.println("Bag has " + numItems + " items and weighs " + totalWeight + " lbs.");
- }
- catch (StackException e) {
- System.out.println("Bag is empty.");
- }
- break;
- case 4:
- try {
- float totalWeight = 0;
- StackRA<Sample> weightBag = new StackRA<Sample>();
- weightBag = sampleBag;
- int numItems = 0;
- while(weightBag.pop() != null)
- {
- Sample weightOrder = weightBag.pop();
- totalWeight += (weightOrder.getWeight());
- numItems++;
- }
- System.out.println("Sample bag has " + numItems + " items and weighs " + totalWeight + " lbs.");
- }
- catch (StackException e) {
- System.out.println("Bag is empty.");
- }
- break;
- case 5:
- try {
- Sample newSample = (sampleBag.pop());
- System.out.println("This " + newSample.getName() + " is amazing. And it's free!");
- }
- catch (StackException e) {
- System.out.println("No samples to enjoy!");
- }
- break;
- case 6:
- if(bag.isEmpty())
- {
- System.out.println("Bag is already empty.");
- }
- else{
- bag.popAll();
- System.out.println("Bag has been emptied.");
- }
- break;
- default:
- System.out.println("Not a valid menu selection.");
- break;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement