class Person { private String name; private int age; private int maritalStatus; private static final int UPPER_AGE_LIMIT = 100; public static final int SINGLE = 1; public static final int MARRIED = 2; public static final int DIVORCED = 3; public static final int WIDOWED = 4; public static final int MARITAL_STATUS_UNKNOWN = 99; public Person () { name = "NONE"; age = 0; maritalStatus = MARITAL_STATUS_UNKNOWN; } public Person (String n, int a, int s) { name = n; boolean result = checkAge (a); if (result == true) { age = a; } else { System.out.println ("Incorrect age: " + a); System.exit (-1); } maritalStatus = checkMaritalStatus (s); } public String getName () { return name; } public void setName (String n) { name = n; } public int getAge () { return age; } public void setAge (int a) { boolean result = checkAge (a); if (result == true) { age = a; } else { System.out.println ("Incorrect age: " + a); System.exit (-1); } } private boolean checkAge (int age) { if (age > 0 && age <= UPPER_AGE_LIMIT) return true; else return false; } public int getMaritalStatus () { return maritalStatus; } public void setMaritalStatus (int s) { maritalStatus = checkMaritalStatus (s); } private int checkMaritalStatus (int s) { switch (s) { case SINGLE: case MARRIED: case DIVORCED: case WIDOWED: case MARITAL_STATUS_UNKNOWN: return s; default: return MARITAL_STATUS_UNKNOWN; } } public String getMaritalStatusString () { int status = getMaritalStatus (); String statusString; switch (status) { case SINGLE: statusString = "single"; break; case MARRIED: statusString = "married"; break; case DIVORCED: statusString = "divorced"; break; case WIDOWED: statusString = "windowed"; break; case MARITAL_STATUS_UNKNOWN: statusString = ""; break; } return statusString; } } public class version_4 { public static void main (String[] args) { System.out.println (); String name1 = "Irfan"; int age1 = 25; int maritalStatus1 = Person.SINGLE; Person person1 = new Person (name1, age1, maritalStatus1); print_person (person1); System.out.println (); String name2 = "Alex"; int age2 = 9; int maritalStatus2 = 45; Person person2 = new Person (); person2.setName (name2); person2.setAge (age2); person2.setMaritalStatus (maritalStatus2); print_person (person2); System.out.println (); Person person3 = new Person (); print_person (person3); } public static void print_person (Person p) { String name = p.getName (); int age = p.getAge (); String maritalStatus = p.getMaritalStatusString (); String description; description = name + " is " + age + " years old and is " + maritalStatus; System.out.println (description); } }