Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ExamPrepTwo.TewentyFouththJuly;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Scanner;
- public class Concert {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- HashMap<String, ArrayList<String>> bandMembers = new HashMap<>();
- HashMap<String, Integer> bandTime = new HashMap<>();
- String commandsPrev = scanner.nextLine();
- while (!commandsPrev.equals("start of concert")){
- String[] commands = commandsPrev.split(";\\s+");
- String commandType = commands[0];
- String bandName = commands[1];
- switch (commandType){
- case "Add":
- if (!bandMembers.containsKey(bandName)) {
- bandMembers.put(bandName, new ArrayList<>());
- }
- List<String> membersFromBand = bandMembers.get(bandName);
- String[] members = commands[2].trim().split(", ");
- for (int i = 0; i < members.length; i++) {
- if (!membersFromBand.contains(members[i])){
- membersFromBand.add(members[i]);
- }
- }
- break;
- case "Play":
- bandTime.putIfAbsent(bandName, 0);
- int time = Integer.parseInt(commands[2]);
- bandTime.put(bandName, bandTime.get(bandName) + time);
- break;
- }
- commandsPrev = scanner.nextLine();
- }
- int totalTime = 0;
- for (Integer time : bandTime.values()) {
- totalTime += time;
- }
- System.out.println("Total time: " + totalTime);
- bandTime.entrySet().stream()
- .sorted((a, b) -> {
- if (a != b){
- return Integer.compare(b.getValue(), a.getValue());
- } else {
- return a.getKey().compareTo(b.getKey());
- }
- })
- .forEach(e -> {
- System.out.println(String.format("%s -> %d", e.getKey(), e.getValue()));
- });
- String lastBandCommand = scanner.nextLine();
- System.out.println(lastBandCommand);
- List<String> allMembers = bandMembers.get(lastBandCommand);
- for (String allMember : allMembers) {
- System.out.println(String.format("=> %s", allMember));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement