Advertisement
Lyubohd

03. SoftUni Bar Income

Mar 19th, 2020
388
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.77 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.util.regex.Matcher;
  3. import java.util.regex.Pattern;
  4.  
  5. public class Main {
  6.     public static void main(String[] args) {
  7.         Scanner scan = new Scanner(System.in);
  8.         String regex = "%(?<name>[A-Z][a-z]+)%(?:[^|$%.]*)<(?<product>[^<>]+)>(?:[^|$%.]*)\\|(?<count>\\d+)\\|(?:[^|$%.]*?)(?<price>[-+]?\\d+\\.?\\d+)\\$";
  9.         Pattern patterns = Pattern.compile(regex);
  10.  
  11.         double income = 0;
  12.         String line = scan.nextLine();
  13.         while (!"end of shift".equals(line)) {
  14.             Matcher matcher = patterns.matcher(line);
  15.             if (matcher.find()) {
  16.                 String name = matcher.group("name"); // взимаме имет на клиента от наименованата група
  17.                 String product = matcher.group("product"); // взимаме името на продукта от наименованата група
  18.                 int count = Integer.parseInt(matcher.group("count")); // взимаме броя на покупките и ги парсваме
  19.                 double price = Double.parseDouble(matcher.group("price")); // взимаме цената на продукта и го парсваме
  20.                 double totalPrice = count * price; // изчисляваме общата цена за продукта
  21.                 income += totalPrice; // добавяме цената към печалбата на бара
  22.  
  23.                 System.out.printf("%s: %s - %.2f%n", name, product, totalPrice); // принтираме информация за текущия продукт
  24.             }
  25.             line = scan.nextLine();
  26.         }
  27.  
  28.         System.out.printf("Total income: %.2f", income); // принтираме печалбата на бара
  29.     }
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement