Overview You are tasked with writing a program called Social
Solution
import java.time.LocalDate;
import java.time.Period;
import java.time.format.DateTimeFormatter;
import java.util.Scanner;
class Person {
String name;
LocalDate birthdate;
public Person() {
super();
}
public Person(String name, int month, int day, int year) {
super();
this.name = name;
this.birthdate = LocalDate.of(year, month, day);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public LocalDate getBirthdate() {
return birthdate;
}
public void setBirthdate(int month, int day, int year) {
this.birthdate = LocalDate.of(year, month, day);
}
@Override
public String toString() {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(\"MM/dd/yyyy\");
birthdate.format(formatter);
return \"Person [name=\" + name + \", birthdate=\" + birthdate + \"]\";
}
public int calculateAge() {
return Period.between(birthdate, LocalDate.now()).getYears();
}
public void qualifySSN() {
if(this.calculateAge()>66)
System.out.println(\"Qualifies for Social Security Benifits\");
else
System.out.println(\"Doesnot qualifies for Social Security Benefits\");
}
}
public class SocialSecurity {
public static void main(String[] args) {
if (args.length > 1)
System.out.println(\"Invalid number of command line arguments\");
int num = Integer.parseInt(args[0]);
Person[] p = new Person[num];
Scanner in = new Scanner(System.in).useDelimiter(\"\\\ \");
;
for (int i = 0; i < num; i++) {
System.out.println(\"enter persons name\");
String name = in.next();
System.out.println(\"enter date of birth in the format Month Day Year\");
String dob = in.next();
String[] temp = dob.split(\" \");
p[i] = new Person(name, Integer.parseInt(temp[0]), Integer.parseInt(temp[1]), Integer.parseInt(temp[2]));
}
for (int i = 0; i < num; i++) {
System.out.println(p[i].toString());
p[i].qualifySSN();
}
}
}


