Advertisement
dimipan80

C#Exams 1. Fruit Market (on Java Code, using HashMap)

Aug 24th, 2014
288
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.86 KB | None | 0 0
  1. import java.math.BigDecimal;
  2. import java.util.HashMap;
  3. import java.util.Locale;
  4. import java.util.Scanner;
  5.  
  6. public class _1_FruitMarket_withHashMap {
  7.  
  8.     public static void main(String[] args) {
  9.         // TODO Auto-generated method stub
  10.         Locale.setDefault(Locale.ROOT);
  11.         Scanner scan = new Scanner(System.in);
  12.         String dayOfWeek = scan.next();
  13.  
  14.         BigDecimal totalPrice = BigDecimal.ZERO;
  15.         for (int i = 0; i < 3; i++) {
  16.             String quantity = scan.next();
  17.             String product = scan.next();
  18.             BigDecimal productPrice = getThePriceOfProductWithApplyedDiscount(
  19.                     product, dayOfWeek);
  20.             productPrice = productPrice.multiply(new BigDecimal(quantity));
  21.             totalPrice = totalPrice.add(productPrice);
  22.         }
  23.  
  24.         System.out.printf("%.2f\n", totalPrice);
  25.     }
  26.  
  27.     private static BigDecimal getThePriceOfProductWithApplyedDiscount(
  28.             String product, String day) {
  29.         // TODO Auto-generated method stub
  30.         HashMap<String, BigDecimal> priceList = new HashMap<String, BigDecimal>();
  31.         priceList.put("apple", new BigDecimal("0.86"));
  32.         priceList.put("banana", new BigDecimal("1.80"));
  33.         priceList.put("cucumber", new BigDecimal("2.75"));
  34.         priceList.put("orange", new BigDecimal("1.60"));
  35.         priceList.put("tomato", new BigDecimal("3.20"));
  36.  
  37.         boolean isFruit = product.equals("apple") || product.equals("banana")
  38.                 || product.equals("orange");
  39.         BigDecimal price = priceList.get(product);
  40.         switch (day) {
  41.         case "Friday":
  42.             return price.multiply(new BigDecimal("0.90"));
  43.         case "Sunday":
  44.             return price.multiply(new BigDecimal("0.95"));
  45.         case "Tuesday":
  46.             return (!isFruit) ? price : price.multiply(new BigDecimal("0.80"));
  47.         case "Wednesday":
  48.             return (isFruit) ? price : price.multiply(new BigDecimal("0.90"));
  49.         case "Thursday":
  50.             return (!product.equals("banana")) ? price : price
  51.                     .multiply(new BigDecimal("0.70"));
  52.         default:
  53.             return price;
  54.         }
  55.     }
  56.  
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement