Advertisement
Angel_Kalinkov

JavaBook-ProblemsForChampions-PartII-PassionDays_AK

Dec 18th, 2017
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.01 KB | None | 0 0
  1. import java.math.BigDecimal;
  2. import java.math.RoundingMode;
  3. import java.util.Scanner;
  4.  
  5. public class PassionDays {
  6.     public static void main(String[] args) {
  7.         Scanner scanner = new Scanner(System.in);
  8.  
  9.         BigDecimal money = new BigDecimal(scanner.nextLine());
  10.         String command = scanner.nextLine();
  11.  
  12.         int purchasesCount = 0;
  13.  
  14.         while (!command.equals("mall.Enter")) {
  15.             command = scanner.nextLine();
  16.         }
  17.         command = scanner.nextLine();
  18.         while (!command.equals("mall.Exit")) {
  19.             for (int i = 0; i < command.length(); i++) {
  20.                 if (command.charAt(i) == '*') {
  21.                     money = money.add(new BigDecimal("10.00"));
  22.                     continue;
  23.                 }
  24.                 BigDecimal price = new BigDecimal("0.00");
  25.                 if (command.charAt(i) >= 'A' && command.charAt(i) <= 'Z') {
  26.                     price = new BigDecimal(command.charAt(i)).multiply(new BigDecimal("0.5"));
  27.                 } else if (command.charAt(i) >= 'a' && command.charAt(i) <= 'z') {
  28.                     price = new BigDecimal(command.charAt(i)).multiply(new BigDecimal("0.3"));
  29.                 } else if (command.charAt(i) == '%') {
  30.                     price = money.multiply(new BigDecimal("0.5"));
  31.                 } else {
  32.                     price = new BigDecimal(command.charAt(i));
  33.                 }
  34.                 if (price.compareTo(money) <= 0 && money.compareTo(new BigDecimal("0.00")) > 0) {
  35.                     money = money.subtract(price);
  36.                     purchasesCount++;
  37.                 }
  38.             }
  39.             command = scanner.nextLine();
  40.         }
  41.         if (purchasesCount == 0) {
  42.             System.out.printf("No purchases. Money left: %s lv.%n",
  43.                     money.setScale(2, RoundingMode.HALF_UP));
  44.         } else {
  45.             System.out.printf("%d purchases. Money left: %s lv.%n", purchasesCount,
  46.                     money.setScale(2, RoundingMode.HALF_UP));
  47.         }
  48.     }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement