Any help is appreciated.
package com.codegym.task.task17.task1710;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.text.SimpleDateFormat;
import java.text.ParseException;
/*
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) throws Exception {
// Start here
String crudMethod = args[0];
if (crudMethod.equals("-c")) {
create(args[1], args[2], args[3]);
System.out.println(allPeople.size()-1);
} else if (crudMethod.equals("-u")) {
update(args[1], args[2], args[3], args[4]);
} else if (crudMethod.equals("-d")) {
delete(args[1]);
} else if (crudMethod.equals("-i")) {
display(args[1]);
}
}
// create each of the different CRUD methods
public static void create(String name, String sex, String bd) throws Exception {
Date date = new SimpleDateFormat("MM dd yyyy").parse(bd);
Person person;
if (sex.equals("f")) {
person = Person.createFemale(name, date);
} else {
person = Person.createMale(name, date);
}
allPeople.add(person);
}
public static void update(String id, String name, String sex, String bd) throws Exception {
Date date = new SimpleDateFormat("MM dd yyyy").parse(bd);
Integer idInt = Integer.parseInt(id);
Person person;
if (sex.equals("f")) {
person = Person.createFemale(name, date);
} else {
person = Person.createMale(name, date);
}
allPeople.set(idInt, person);
}
public static void delete(String id) {
Person person = allPeople.get(Integer.parseInt(id));
person.setName(null);
person.setSex(null);
person.setBirthDate(null);
}
public static void display(String id) {
// initialize empty String
String result;
// get the person from list
Person person = allPeople.get(Integer.parseInt(id));
// get individual values name, sex, bd
String name = person.getName();
Sex sex = person.getSex();
Date bd = person.getBirthDate();
// change date to different format
SimpleDateFormat formatter = new SimpleDateFormat("MM dd yyyy");
String bdString = formatter.format(bd);
// change sex to String
String sexStr;
if (sex == Sex.FEMALE) {
sexStr = "f";
} else {
sexStr = "m";
}
// construct the display String
result = name + " " + sexStr + " " + bdString;
System.out.println(result);
}
}