// A PhoneEntry object represents a name and a phone number for that person
// 5th version: encapsulated, and with toString

public class PhoneEntry {
    private String name;
    private String phoneNo;  // "617-334-1234" for ex.
    
    public PhoneEntry(String name0, String phoneNo0) {
      name = name0;
      phoneNo = phoneNo0;
    }
 
    public String getName() {
        return name;
    }
    public String getPhoneNo() {
        return phoneNo;
    }
    public String areaCode() { 
      return phoneNo.substring(0,3);
    }
    public void changeAreaCode(String newCode) {
      phoneNo = newCode + phoneNo.substring(3);
    }
    public Boolean isValid() {   // one way: peel off all the failing cases one by one
      if (phoneNo.length() != 12) {
        return false;
      }
      if (phoneNo.charAt(3) != '-') {
        return false;
      }
      if (phoneNo.charAt(7) != '-') {
        return false;
      }
      return true;
    } 

    public String toString() {
      return name + ": " + phoneNo;
    }
}