Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class Task102 {
- private static Map<String, Set<String>> telephoneBook= new HashMap<>();
- private static String deleteSymbols(String number) {
- char [] charArray = number.toCharArray();
- String rightNumber = new String();
- for (byte i = 0; i < charArray.length; i++) {
- if (Character.isDigit(charArray[i])) {
- rightNumber += charArray[i];
- }
- }
- return rightNumber;
- }
- private static String rightNumber (String number){
- if (number.length() == 7) {
- return ("+7495" + number);
- }
- else {
- return ("+7" + number.substring(1));
- }
- }
- public static void main(String[] args) {
- Scanner in = new Scanner(System.in);
- int n = Integer.parseInt(in.nextLine());
- List<String> numbers = new ArrayList<>();
- for (int i = 0; i < n; i++){
- String name = in.nextLine();
- String number = deleteSymbols(in.nextLine());
- Set<String> numbersSet = new HashSet<>();
- if (number.length() == 11 || number.length() == 7) {
- number = rightNumber(number);
- if (telephoneBook.containsKey(name)) {
- numbersSet = telephoneBook.get(name);
- }
- if (!numbers.contains(number)){
- numbersSet.add(number);
- telephoneBook.put(name, numbersSet);
- }
- numbers.add(number);
- }
- }
- String[] names = new String[telephoneBook.size()];
- int k = 0;
- for (Map.Entry entry : telephoneBook.entrySet()){
- names[k] = (entry.getKey().toString());
- k++;
- }
- Arrays.sort(names);
- for (int i = 0; i < names.length; i++) {
- System.out.println(names[i]);
- Set<String> numbersSet = telephoneBook.get(names[i]);
- for (String entry : numbersSet) {
- System.out.println(entry);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement