Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package methodsExercises.pr09PizzaTime;
- import java.util.LinkedHashMap;
- import java.util.Map;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- package methodsExercises.pr09PizzaTime;
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- import java.lang.reflect.Method;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Map;
- import java.util.stream.Collectors;
- public class Pr09PizaaTime {
- public static void main(String[] args) {
- try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));) {
- String[] inputLine = reader.readLine().split("\\s+");
- Pizza pizza = new Pizza();
- pizza.addPizza(inputLine);
- Map<Integer,StringBuilder> printList = pizza.getPizzaList();
- printList
- .entrySet()
- .stream()
- .sorted((g1,g2) -> Integer
- .compare(g1.getKey(), g2.getKey()))
- .forEach(group -> {
- System.out.printf("%d - %s\n",group
- .getKey(),group
- .getValue()
- .substring(0,group.getValue()
- .length()-2));
- });
- Class<?> pizzaClass = Pizza.class;
- Method[] methods = pizzaClass.getDeclaredMethods();
- List<Method> checkedMethods = Arrays.stream(methods)
- .filter(m -> m.getReturnType().getName().contains("Map"))
- .collect(Collectors.toList());
- if (checkedMethods.size() < 1) {
- throw new ClassFormatError();
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- class Pizza {
- private Map<Integer,StringBuilder> pizzaList;
- public Pizza(){
- this.pizzaList = new LinkedHashMap<>();
- }
- public void addPizza(String ... pizza){
- String regex = "([0-9]+)(.*)";
- Pattern pattern = Pattern.compile(regex);
- for (String currPizza : pizza) {
- Matcher match = pattern.matcher(currPizza);
- while (match.find()) {
- int group = Integer.parseInt(match.group(1));
- String pizzaName = match.group(2);
- if (! pizzaList.containsKey(group)) {
- pizzaList.put(group,new StringBuilder());
- }
- pizzaList.get(group).append(pizzaName + ", ");
- }
- }
- }
- public Map<Integer,StringBuilder> getPizzaList() {
- return this.pizzaList;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement