Validation says, that in 3rd is problem with adding person to list. In 4th is problem with actualization on birth date, and last that program don't show right date for person
package pl.codegym.task.task17.task1710;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
/*
CRUD
*/
public class Solution {
public static List<Person> allPeople = new ArrayList<>();
static {
allPeople.add(Person.createMale("Donald Chump", new Date())); // id=0
allPeople.add(Person.createMale("Larry Gates", new Date())); // id=1
}
public static void main(String[] args) {
Date date;
String name, sex;
int id;
try {
switch (args[0]) {
case "-c": {
name = args[1];
sex = args[2];
date = new SimpleDateFormat("MM/dd/yyyy", Locale.ENGLISH).parse(args[3]);
addPerson(name, sex, date);
break;
}
case "-u": {
id = Integer.parseInt(args[1]);
name = args[2];
sex = args[3];
date = new SimpleDateFormat("MM/dd/yyyy", Locale.ENGLISH).parse(args[4]);
modifyData(id, name, sex, date);
break;
}
case "-d": {
id = Integer.parseInt(args[1]);
deletePerson(id);
break;
}
case "-i": {
id = Integer.parseInt(args[1]);
showPerson(id);
break;
}
}
}catch (ParseException e){}
}
public static void addPerson(String name, String sex, Date date){
if (sex.equals("m")){
allPeople.add(Person.createMale(name, date));
}else if (sex.equals("f")){
allPeople.add(Person.createFemale(name, date));
}
System.out.println(allPeople.size() - 1);
}
public static void modifyData(int id, String name, String sex, Date date){
allPeople.get(id).setName(name);
if (sex.equals("m")) {
allPeople.get(id).setSex(Sex.MALE);
}else if (sex.equals("f")) {
allPeople.get(id).setSex(Sex.FEMALE);
}
allPeople.get(id).setBirthDate(date);
}
public static void deletePerson(int id){
allPeople.get(id).setBirthDate(null);
allPeople.get(id).setName(null);
allPeople.get(id).setSex(null);
}
public static void showPerson(int id){
System.out.println(allPeople.get(id).getName() + " " + allPeople.get(id).getSex() + " " + allPeople.get(id).getBirthDate());
}
}