Advertisement
Guest User

Untitled

a guest
Feb 20th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.33 KB | None | 0 0
  1.  
  2. /*
  3. * Purpose: Data Structure and Algorithms Lab 3 Problem 1 & 2
  4. * Status: Complete and thoroughly tested
  5. * Last update: 02/7/18
  6. * Submitted: 02/8/18
  7. * Comment: test suite and sample run attached
  8. * @author: Ardit Pranvoku
  9. * @version: 2018.02.7
  10. */
  11. import java.io.BufferedReader;
  12. import java.io.IOException;
  13. import java.io.InputStreamReader;
  14.  
  15. public class Driver {
  16.  
  17. static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  18.  
  19. public static void main(String[] args) throws IOException {
  20.  
  21. StackSLS<Order> bag = new StackSLS<Order>();
  22. StackSLS<Sample> sampleBag = new StackSLS<Sample>();
  23. String input = "";
  24. Integer index = 0;
  25.  
  26. System.out.println("Please select a number.");
  27. System.out.println("0. Exit.");
  28. System.out.println("1. Pick up an order.");
  29. System.out.println("2. Drop off an order.");
  30. System.out.println("3. Display number of packages and weight of bag.");
  31. System.out.println("4. Display number of items and weight of the bag of samples.");
  32. System.out.println("5. Enjoy an item from the bag of samples.");
  33. System.out.println("6. Empty the bag of samples.");
  34.  
  35. while (!(input.equals("0"))) {
  36. System.out.println("Make menu selection now:");
  37. input = br.readLine().trim();
  38. System.out.println(input);
  39.  
  40. int option = 128;
  41. try {
  42. option = Integer.parseInt(input);
  43. } catch (NumberFormatException i) {
  44. System.out.println("Invalid input");
  45. }
  46.  
  47. switch (option) {
  48. case 1:
  49. System.out.println("Please specify package info.");
  50. System.out.println("Please enter the item name.");
  51. String name = br.readLine();
  52. System.out.println(name);
  53. System.out.println("Please enter the order individual weight.");
  54. float weight = Float.parseFloat(br.readLine());
  55. System.out.println(weight);
  56. System.out.println("Please enter the total number of items.");
  57. int itemsInOrder = Integer.parseInt(br.readLine());
  58. System.out.println(itemsInOrder);
  59. System.out.println("Please enter the sender's name.");
  60. String sender = br.readLine();
  61. System.out.println(sender);
  62. System.out.println("Please enter the recipient's name.");
  63. String recipient = br.readLine();
  64. System.out.println(recipient);
  65. try {
  66. Order newOrder = new Order(name, weight, itemsInOrder, sender, recipient);
  67. bag.push(newOrder);
  68. System.out.println("A package of " + newOrder.getName() + " each weighing " + newOrder.getWeight() + " lbs has been added to the bag.");
  69. } catch (StackException e) {
  70. }
  71. break;
  72. case 2:
  73. try {
  74. Order newOrder = bag.pop();
  75. System.out.println("Here is your package " + newOrder.getRecipient() + ".");
  76. System.out.println("May I please keep a sample?(Y/N)");
  77. String request = br.readLine();
  78. if(request.equals("Y"))
  79. {
  80. System.out.println("Thanks for letting me keep a " + newOrder.getName() + " !");
  81. System.out.println("Your order contains " + newOrder.getItemsInOrder() + " " + newOrder.getName() + " each weighing "
  82. + newOrder.getWeight() + " from " + newOrder.getSender() + " to " + newOrder.getRecipient() + ".");
  83. sampleBag.push(new Sample(newOrder.getName(), newOrder.getWeight()));
  84. }
  85. else
  86. {
  87. System.out.println("Thanks anyway.");
  88. System.out.println("Your order contains " + newOrder.getItemsInOrder() + " " + newOrder.getName() + " each weighing "
  89. + newOrder.getWeight() + " from " + newOrder.getSender() + " to " + newOrder.getRecipient() + ".");
  90. sampleBag.push(new Sample(newOrder.getName(), newOrder.getWeight()));
  91. }
  92.  
  93. } catch (StackException e) {
  94. System.out.println("No deliveries to process.");
  95. }
  96. break;
  97.  
  98. case 3:
  99. try {
  100. float totalWeight = 0;
  101. StackRA<Order> weightBag = new StackRA<Order>();
  102. weightBag = bag;
  103. int numItems = 0;
  104. while(!weightBag.isEmpty())
  105. {
  106. Order weightOrder = weightBag.pop();
  107. System.out.println("Hello.");
  108. totalWeight += (weightOrder.getWeight()* weightOrder.getItemsInOrder());
  109. numItems++;
  110. }
  111. System.out.println("Bag has " + numItems + " items and weighs " + totalWeight + " lbs.");
  112. }
  113. catch (StackException e) {
  114. System.out.println("Bag is empty.");
  115. }
  116. break;
  117. case 4:
  118. try {
  119. float totalWeight = 0;
  120. StackRA<Sample> weightBag = new StackRA<Sample>();
  121. weightBag = sampleBag;
  122. int numItems = 0;
  123. while(weightBag.pop() != null)
  124. {
  125. Sample weightOrder = weightBag.pop();
  126. totalWeight += (weightOrder.getWeight());
  127. numItems++;
  128. }
  129. System.out.println("Sample bag has " + numItems + " items and weighs " + totalWeight + " lbs.");
  130. }
  131. catch (StackException e) {
  132. System.out.println("Bag is empty.");
  133. }
  134. break;
  135. case 5:
  136. try {
  137. Sample newSample = (sampleBag.pop());
  138. System.out.println("This " + newSample.getName() + " is amazing. And it's free!");
  139.  
  140. }
  141. catch (StackException e) {
  142. System.out.println("No samples to enjoy!");
  143. }
  144. break;
  145. case 6:
  146. if(bag.isEmpty())
  147. {
  148. System.out.println("Bag is already empty.");
  149. }
  150. else{
  151. bag.popAll();
  152. System.out.println("Bag has been emptied.");
  153. }
  154. break;
  155. default:
  156. System.out.println("Not a valid menu selection.");
  157. break;
  158. }
  159. }
  160. }
  161. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement