Advertisement
Guest User

classes exam judge

a guest
Sep 6th, 2015
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.19 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.Comparator;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import java.util.Scanner;
  8.  
  9.  
  10. public class First {
  11.     private static List<Person> users = new ArrayList<Person>();
  12.    
  13.     public static void main(String[] args) {
  14.         Scanner sc = new Scanner(System.in);
  15.        
  16.         int nums = sc.nextInt();
  17.         sc.nextLine();
  18.         for (int i = 0; i < nums; i++) {
  19.             String[] userInfo = sc.nextLine().split("\\s+");
  20.             String ip = userInfo[0];
  21.             String name = userInfo[1];
  22.             int logs = Integer.parseInt(userInfo[2]);
  23.             if (!userExists(name)) {
  24.                 Person user = new Person();
  25.                 user.setName(name);
  26.                 users.add(user);
  27.             }
  28.             getUser(name).setIp(ip);
  29.             getUser(name).log(logs);
  30.         }
  31.        
  32.         Collections.sort(users, new Comparator<Person>() {
  33.             public int compare(Person result1, Person result2) {
  34.                 return result1.getName().compareTo(result2.getName());
  35.             }
  36.         });
  37.        
  38.         getUsersInfo();
  39.     }
  40.    
  41.     private static boolean userExists(String name) {
  42.         for (Person p : users) {
  43.             if (p.getName().equals(name)) {
  44.                 return true;
  45.             }
  46.         }
  47.         return false;
  48.     }
  49.    
  50.     private static Person getUser(String name) {
  51.         for (Person p : users) {
  52.             if (p.getName().equals(name)) {
  53.                 return p;
  54.             }
  55.         }
  56.         return new Person();
  57.     }
  58.    
  59.     private static void getUsersInfo() {
  60.         for (Person p : users) {
  61.             System.out.println(p.getName() + ": " + p.getLogs() + " " + p.getIps());
  62.         }
  63.     }
  64. }
  65.  
  66. class Person {
  67.     private String _name;
  68.     private List<String> _ips = new ArrayList<String>();
  69.     private int _logs;
  70.    
  71.     public void setName(String name) {
  72.         this._name = name;
  73.     }
  74.    
  75.     public void setIp(String ip) {
  76.         if (!this._ips.contains(ip)) {
  77.             this._ips.add(ip);
  78.         }
  79.     }
  80.    
  81.     public void log(int log) {
  82.         this._logs += log;
  83.     }
  84.    
  85.     public String getName() {
  86.         return this._name;
  87.     }
  88.    
  89.     public String getIps() {
  90.         Collections.sort(this._ips, Collections.reverseOrder());
  91.         String ip = "[";
  92.         for (int i = this._ips.size()-1; i >= 0; i--) {
  93.             ip += this._ips.get(i) + ", ";
  94.         }
  95.         ip = ip.replaceAll(", $", "");
  96.         ip += "]";
  97.         return ip;
  98.     }
  99.    
  100.     public int getLogs() {
  101.         return this._logs;
  102.     }
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement