Phone Number
unknown
java
3 years ago
1.8 kB
10
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("1 -> NAME | PHONE NUMBER: ");
phonebook.addPair(kb.nextLine(), kb.nextLine());
System.out.println("2 -> NAME | PHONE NUMBER: ");
phonebook.addPair(kb.nextLine(), kb.nextLine());
phonebook.printAllPairs();
kb.close();
}
}Editor is loading...