Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.*;
- /**
- * ----------------------------
- * Project: APS
- * Package: dopolnitelni_casovi.hashmaps
- * Created on: 28.5.2016, 15:09
- * IDE: IntelliJ IDEA
- * ----------------------------
- * Author: Damjan Miloshevski
- * Web: http://damjanmiloshevski.mk/
- * Phone: +389 (0)78 566 409
- * E-mail: [email protected]; [email protected]
- * Skype: damjan.milosevski
- * LinkedIn: https://mk.linkedin.com/in/damjanmiloshevski
- * GitHub: https://github.com/damsii
- * Bitbucket: https://bitbucket.org/dam_si
- */
- public class Rodendeni {
- public static void main(String[] args) throws IOException {
- BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
- Map<String, ArrayList<Vraboten>> vraboteni = new HashMap<>();
- try {
- int N = Integer.parseInt(in.readLine());
- for (int i = 0; i < N; i++) {
- String[] parts = in.readLine().split(" ");
- String name = parts[0];
- String lastName = parts[1];
- String DOB = parts[2];
- String key = generateKey(DOB);
- Vraboten vraboten = new Vraboten(name, lastName, DOB);
- ArrayList<Vraboten> kolegi = vraboteni.get(key);
- if (kolegi == null) {
- kolegi = new ArrayList<>();
- kolegi.add(vraboten);
- } else {
- kolegi.add(vraboten);
- }
- vraboteni.put(key, kolegi);
- }
- String date = in.readLine();
- String key = generateKey(date);
- ArrayList<Vraboten> kolegi = vraboteni.get(key);
- if (kolegi == null) {
- System.out.println("Nema");
- } else {
- Collections.sort(kolegi);
- int currYear = Integer.parseInt(date.substring(6, 10));
- for (Vraboten vraboten : kolegi) {
- System.out.println(vraboten.toString() + " " + vraboten.age(vraboten.getDOB(), currYear));
- }
- }
- } catch (NumberFormatException e) {
- System.err.println("Pogresen vlez!");
- }
- }
- public static String generateKey(String str) {
- return str.substring(0, 6);
- }
- }
- class Vraboten implements Comparable<Vraboten> {
- private String name;
- private String lastName;
- private String DOB;
- protected int vozrast;
- public Vraboten(String name, String lastName, String DOB) {
- this.name = name;
- this.lastName = lastName;
- this.DOB = DOB;
- int currYear = Calendar.getInstance().get(Calendar.YEAR);
- vozrast = age(DOB, currYear);
- }
- @Override
- public String toString() {
- return String.format("%s %s", name, lastName);
- }
- static int age(String dob, int currYear) {
- String[] parts = dob.split("/");
- int year = Integer.parseInt(parts[2]);
- return currYear - year;
- }
- public String getName() {
- return name;
- }
- public String getLastName() {
- return lastName;
- }
- public String getDOB() {
- return DOB;
- }
- @Override
- public int compareTo(Vraboten o) {
- if (name.equals(o.name)) {
- return Integer.compare(vozrast, o.vozrast);
- }
- return name.compareTo(o.name);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment