Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package FinalExamAugustRetake;
- import java.util.LinkedHashMap;
- import java.util.Map;
- import java.util.Scanner;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class AdAstra_02 {
- public static void main(String[] args) {
- Scanner scan = new Scanner(System.in);
- final String REGEX = "([#\\|])(?<name>[A-Za-z\\s]+)\\1(?<date>\\d{2}\\/\\d{2}\\/\\d{2})*\\1(?<calories>\\d{1,5})\\1";
- Map<String[], Integer> data = new LinkedHashMap<>();
- String input = scan.nextLine();
- Pattern pattern = Pattern.compile(REGEX);
- Matcher matcher = pattern.matcher(input);
- int totalCals = 0;
- while (matcher.find()) {
- String name = matcher.group("name");
- String date = matcher.group("date");
- int cals = Integer.parseInt(matcher.group("calories"));
- String[] info = new String[]{name, date};
- data.putIfAbsent(info, cals);
- totalCals += cals;
- }
- int totalDays = totalCals / 2000;
- System.out.printf("You have food to last you for: %d days!%n", totalDays);
- for (var entry : data.entrySet()) {
- System.out.println(String.format("Item: %s, Best before: %s, Nutrition: %d"
- ,entry.getKey()[0],entry.getKey()[1],entry.getValue()));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment