Untitled

 avatar
unknown
plain_text
2 years ago
1.8 kB
4
Indexable
import java.util.*;
public class Main{
 
    private TreeMap<String, String> phonebook;
 
    public Main() {
        phonebook = new TreeMap<String, String>();
    }
 
    public void addPair(String name, String phoneNumber) {

        if (isValidPhoneNumber(phoneNumber)) {

            phonebook.put(name, normalizePhoneNumber(phoneNumber));
        } else {
            System.out.println("Invalid phone number: " + phoneNumber);
        }
    }
 

    public void deletePair(String name) {
        phonebook.remove(name);
    }
 
    public String getPhoneNumber(String name) {
        return phonebook.get(name);
    }
 
    public void printAllPairs() {
        for (Map.Entry<String, String> entry : phonebook.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
    }
 

    private boolean isValidPhoneNumber(String phoneNumber) {
        return phoneNumber.matches("(\\+359|00359|0)8[789]\\d{7}");
    }
 

    private String normalizePhoneNumber(String phoneNumber) {
        if (phoneNumber.startsWith("+")) {
            return phoneNumber;
        } else if (phoneNumber.startsWith("00")) {
            return "+" + phoneNumber.substring(2);
        } else if (phoneNumber.startsWith("0")) {
            return "+359" + phoneNumber.substring(1);
        } else {
            return null;
        }
    }
    public static void main(String[] args) {
    Main phonebook = new Main();
    Scanner kb = new Scanner(System.in);

    System.out.println("Name, Number: ");
    phonebook.addPair(kb.nextLine(), kb.nextLine());
    System.out.println("Name, Number: ");
    phonebook.addPair(kb.nextLine(), kb.nextLine());
    phonebook.printAllPairs();
 
    kb.close();
}
}
Editor is loading...