Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class Pr1 {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- int n = Integer.parseInt(scanner.nextLine());
- int sum = 0;
- for (int i = 0; i < n; i++) {
- String line = scanner.nextLine();
- //String regex = "^n:(?<name>[^\\s]+\\s?[^\\s]+);t:(?<kind>[^\\s]+\\s?[^\\s]+);c--(?<country>[A-Z][a-z]+?\\s?[A-Z]?[a-z]+?)$";
- String regex = "^n:(?<name>[^;]+);t:(?<kind>[^;]+);c--(?<country>[A-Za-z ]+)$";
- Pattern pattern = Pattern.compile(regex);
- Matcher matcher = pattern.matcher(line);
- if (matcher.find()) {
- String animalName = matcher.group("name");
- String animalKind = matcher.group("kind");
- String country = matcher.group("country");
- sum += sumKgAnimals(animalName);
- sum += sumKgAnimals(animalKind);
- animalName = filterNameOrKind(animalName);
- animalKind = filterNameOrKind(animalKind);
- System.out.println(String.format("%s is a %s from %s", animalName, animalKind, country));
- }
- }
- System.out.println(String.format("Total weight of animals: %dKG", sum));
- }
- private static int sumKgAnimals(String animalNameOrKind) {
- int sum = 0;
- int digit;
- for (int j = 0; j < animalNameOrKind.length(); j++) {
- char symbol = animalNameOrKind.charAt(j);
- if (Character.isDigit(symbol)) {
- digit = symbol - '0';
- sum = sum + digit;
- }
- }
- return sum;
- }
- private static String filterNameOrKind(String animalNameOrKind) {
- StringBuilder sb = new StringBuilder();
- for (int j = 0; j < animalNameOrKind.length(); j++) {
- char symbol = animalNameOrKind.charAt(j);
- if (Character.isLetter(symbol)) {
- sb.append(symbol);
- } else if (symbol == ' ') {
- sb.append(symbol);
- }
- }
- return sb.toString();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement