Advertisement
Guest User

Untitled

a guest
Apr 1st, 2020
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.30 KB | None | 0 0
  1. package FinalExam;
  2.  
  3. import java.lang.invoke.SwitchPoint;
  4. import java.util.*;
  5.  
  6. public class FirstConcert {
  7.     public static void main(String[] args) {
  8.         Scanner scanner = new Scanner(System.in);
  9.  
  10.         Map<String,List<String>> bandsMembers = new LinkedHashMap<>();
  11.         Map<String,Integer> bandsTimes = new LinkedHashMap<>();
  12.  
  13.         String input = scanner.nextLine();
  14.  
  15.         while (!input.equals("start of concert")){
  16.             String[] token = input.split("; ");
  17.             String command = token[0];
  18.  
  19.             switch (command){
  20.                 case "Add":
  21.                     String bandName = token[1];
  22.                     String[] members = token[2].trim().split(", ");
  23.                     bandsMembers.putIfAbsent(bandName,new ArrayList<>());
  24.  
  25.                     List<String> member = bandsMembers.get(bandName);
  26.  
  27.                     for (int i = 0; i <members.length ; i++) {
  28.                         if (!member.contains(members[i])){
  29.                             bandsMembers.get(bandName).add(members[i]);
  30.                         }
  31.                     }
  32.                     break;
  33.                 case "Play":
  34.                     bandName=token[1];
  35.                     int time = Integer.parseInt(token[2]);
  36.  
  37.                     if (bandsTimes.containsKey(bandName)){
  38.                         bandsTimes.put(bandName,bandsTimes.get(bandName)+time);
  39.                     } else {
  40.                         bandsTimes.put(bandName,time);
  41.                     }
  42.  
  43.  
  44.  
  45.  
  46.                     break;
  47.             }
  48.  
  49.  
  50.  
  51.             input=scanner.nextLine();
  52.         }
  53.  
  54.         String finalBandName = scanner.nextLine();
  55.  
  56.  
  57.         int totalTime = 0;
  58.  
  59.         for (Integer value : bandsTimes.values()) {
  60.             totalTime+=value;
  61.         }
  62.  
  63.         System.out.println("Total time: "+totalTime);
  64.  
  65.         bandsTimes.entrySet()
  66.                 .stream()
  67.                 .sorted(Map.Entry.<String,Integer>comparingByValue((a,b)->b-a).thenComparing((a,b)->a.getKey().compareTo(b.getKey())))
  68.                 .forEach(e-> System.out.printf("%s -> %d%n",e.getKey(),e.getValue()));
  69.         System.out.println(finalBandName);
  70.  
  71.         bandsMembers.get(finalBandName)
  72.                 .stream()
  73.                 .forEach(entry -> System.out.printf("=> %s%n",entry));
  74.  
  75.     }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement