import java.time.*;
class Person{
private int age;
this.setName(name);
this.setAge(age);
this.setGender(gender);}
public void setName
(String name
){ this.name = name;}
public void setAge(int age){
this.age = age;}
public void setGender
(String gender
){ this.gender = gender;}
return name;}
public int getAge(){
return age;}
return gender;}
@Override
return "Name:" + this.getName() + ". Gender:" + this.getGender() + ". Age:" + this.getAge() + ".";}
public Year computeYearOfBirth(){
return Year.now().minusYears(this.getAge());}
public int computeAge(LocalDate dob){
return Period.between(dob, LocalDate.now().plusYears(1)).getYears();
}}
class PersonClient{
public static void main
(String[] args
){ Person pers1
= new Person
("Jedi",
45,
"Male"); Person pers2
= new Person
("Shane",
12,
"Female");
Person []persons = {pers1, pers2};
for(Person person : persons){
System.
out.
print(" Year of Birth:" + person.
computeYearOfBirth() + ". "); System.
out.
println(person.
computeAge(LocalDate.
of(1979,
4,
20)));}}}
aW1wb3J0IGphdmEudGltZS4qOwoKY2xhc3MgUGVyc29uewpwcml2YXRlIFN0cmluZyBuYW1lOwpwcml2YXRlIGludCBhZ2U7CnByaXZhdGUgU3RyaW5nIGdlbmRlcjsKCnB1YmxpYyBQZXJzb24oU3RyaW5nIG5hbWUsIGludCBhZ2UsIFN0cmluZyBnZW5kZXIpewp0aGlzLnNldE5hbWUobmFtZSk7CnRoaXMuc2V0QWdlKGFnZSk7CnRoaXMuc2V0R2VuZGVyKGdlbmRlcik7fQoKcHVibGljIHZvaWQgc2V0TmFtZShTdHJpbmcgbmFtZSl7CnRoaXMubmFtZSA9IG5hbWU7fQoKcHVibGljIHZvaWQgc2V0QWdlKGludCBhZ2Upewp0aGlzLmFnZSA9IGFnZTt9CgpwdWJsaWMgdm9pZCBzZXRHZW5kZXIoU3RyaW5nIGdlbmRlcil7CnRoaXMuZ2VuZGVyID0gZ2VuZGVyO30KCnB1YmxpYyBTdHJpbmcgZ2V0TmFtZSgpewpyZXR1cm4gbmFtZTt9CgpwdWJsaWMgaW50IGdldEFnZSgpewpyZXR1cm4gYWdlO30KCnB1YmxpYyBTdHJpbmcgZ2V0R2VuZGVyKCl7CnJldHVybiBnZW5kZXI7fQoKQE92ZXJyaWRlCnB1YmxpYyBTdHJpbmcgdG9TdHJpbmcoKXsKcmV0dXJuICJOYW1lOiIgKyB0aGlzLmdldE5hbWUoKSArICIuIEdlbmRlcjoiICsgdGhpcy5nZXRHZW5kZXIoKSArICIuIEFnZToiICsgdGhpcy5nZXRBZ2UoKSArICIuIjt9CgpwdWJsaWMgWWVhciBjb21wdXRlWWVhck9mQmlydGgoKXsKcmV0dXJuIFllYXIubm93KCkubWludXNZZWFycyh0aGlzLmdldEFnZSgpKTt9CgpwdWJsaWMgaW50IGNvbXB1dGVBZ2UoTG9jYWxEYXRlIGRvYil7CnJldHVybiBQZXJpb2QuYmV0d2Vlbihkb2IsIExvY2FsRGF0ZS5ub3coKS5wbHVzWWVhcnMoMSkpLmdldFllYXJzKCk7Cn19CgpjbGFzcyBQZXJzb25DbGllbnR7CnB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpeyBQZXJzb24gcGVyczEgPSBuZXcgUGVyc29uKCJKZWRpIiwgNDUsICJNYWxlIik7IFBlcnNvbiBwZXJzMiA9IG5ldyBQZXJzb24oIlNoYW5lIiwgMTIsICJGZW1hbGUiKTsKClBlcnNvbiBbXXBlcnNvbnMgPSB7cGVyczEsIHBlcnMyfTsKCmZvcihQZXJzb24gcGVyc29uIDogcGVyc29ucyl7ClN5c3RlbS5vdXQucHJpbnQocGVyc29uKTsKU3lzdGVtLm91dC5wcmludCgiIFllYXIgb2YgQmlydGg6IiArIHBlcnNvbi5jb21wdXRlWWVhck9mQmlydGgoKSArICIuICIpOwpTeXN0ZW0ub3V0LnByaW50bG4ocGVyc29uLmNvbXB1dGVBZ2UoTG9jYWxEYXRlLm9mKDE5NzksNCwyMCkpKTt9fX0KCg==