@@ -0,0 +1,2208 @@
+public class Contact%7B%0A  %0A  private String name;%0A  private String lastName;%0A  private List%3CString%3E emails;%0A  private int phone;%0A  private long cellPhone;%0A  private String direction;%0A  %0A  private static final int countDigits(int num)%7B%0A    int count = 0;%0A    while(num %3E 0)%7B%0A    %09count++;%0A      %09num/=10;%0A    %7D%0A    return count;%0A  %7D%0A  %0A   private static final int countDigits(long num)%7B%0A    int count = 0;%0A    while(num %3E 0)%7B%0A    %09count++;%0A      %09num/=10;%0A    %7D%0A     return count;%0A  %7D%0A  %0A  private static boolean isValidName(String name)%7B%0A    int len = name.length();%0A    boolean foo = true;%0A    if( len %3C 3 %7C%7C len %3E 10)%7B%0A    %09return false;%0A    %7D%0A    if(name.matches(%22.*%5C%5Cd+.*%22))%7B%0A    %09return false;%0A    %7D%0A    return true;%0A  %7D%0A  %0A  public Contact(String newName, String newLastName, String newEmail, int newPhone, long cellPhone, String newDirection)%7B%0A   this.setName(newName); %0A   this.setLastName(newLastName); %0A   this.emails = new ArrayList%3C%3E();%0A   this.addEmail(newEmail); %0A   this.setPhone(newPhone);%0A   this.setCellPhone(cellPhone);%0A   this.setDirection(newDirection);%0A  %0A  %7D%0A%09%0A  public final void setName(String newName)%7B%0A    if(!isValidName(newName))%7B%0A    %09throw new IllegalArgumentException();%0A    %7D%0A  %09this.name = newName;%0A  %7D%0A  %0A  %0A  public final void setLastName(String newLastName)%7B%0A    if(!isValidName(newLastName))%7B%0A    %09throw new IllegalArgumentException();%0A    %7D%0A  %09this.lastName = newLastName;%0A  %7D%0A  %0A  public final void addEmail(String newEmail)%7B%0A    if(newEmail.matches(%22%5E%5C%5Cw%5C%5C@(%5C%5Cw.%5C%5Cw)+%22))%7B %0A      this.emails.add(newEmail);%7D%0A    else%7B%0A    %09throw new IllegalArgumentException();%0A    %7D%0A  %7D%0A  %0A  public final void setPhone(int newPhone)%7B%0A    if((newPhone %3C 0) %7C%7C countDigits(newPhone)!= 7)%7B%0A    %09throw new IllegalArgumentException();%0A    %7D%0A  %09this.phone = newPhone;%0A  %7D%0A  %0A  public final void setCellPhone(long newCellPhone)%7B%0A  %09if((newCellPhone %3C 0) %7C%7C countDigits(newCellPhone) != 10)%7B%0A    %09throw new IllegalArgumentException();%0A    %7D%0A    this.cellPhone = newCellPhone;%0A  %7D%0A  %0A  public final void  setDirection(String newDirection)%7B%0A    if(newDirection.length()%3C 10 %7C%7C  newDirection.length()%3E30)%7B%0A    %09throw new IllegalArgumentException();%0A    %7D%0A    this.direction = newDirection;%0A  %7D%0A%0A%7D%0A

Create Contact.java