Advertisement
Ivelin_Arsov

Ad Astra

Aug 27th, 2020
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.49 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. import java.util.Scanner;
  4. import java.util.regex.Matcher;
  5. import java.util.regex.Pattern;
  6.  
  7. public class Problem2 {
  8.     public static void main(String[] args) {
  9.         Scanner scan = new Scanner(System.in);
  10.         String regex = "(\\#|\\|)(?<item>[A-Za-z\\s]+)\\1(?<date>\\d{2}\\/\\d{2}\\/\\d{2})\\1(?<calories>\\d{1,5})\\1";
  11.  
  12.         String input = scan.nextLine();
  13.  
  14.         Pattern pattern = Pattern.compile(regex);
  15.         Matcher matcher = pattern.matcher(input);
  16.  
  17.         List<String> item = new ArrayList<>();
  18.         List<String> date = new ArrayList<>();
  19.         List<String> calories = new ArrayList<>();
  20.         int daysLast = 0;
  21.         int dailyCalorie = 2000;
  22.         int calorieFromFood = 0;
  23.  
  24.         while (matcher.find()) {
  25.             calorieFromFood += Integer.parseInt(matcher.group("calories").substring(0));
  26.             item.add(matcher.group("item"));
  27.             date.add(matcher.group("date"));
  28.             calories.add(matcher.group("calories"));
  29.  
  30.         }
  31.         daysLast = calorieFromFood / dailyCalorie;
  32.         System.out.println(String.format("You have food to last you for: %d days!", daysLast));
  33.  
  34.         if (item.size() > 0 && date.size() > 0 && calories.size() > 0) {
  35.             for (int i = 0; i < calories.size(); i++) {
  36.                 System.out.println(String.format("Item: %s, Best before: %s, Nutrition: %s", item.get(i), date.get(i), calories.get(i)));
  37.             }
  38.         }
  39.     }
  40. }
  41.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement