It looks that everything is correct, but my solution doesn't pass the test.
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 Chump1", new Date())); // id=0
allPeople.add(Person.createMale("Larry Gates2", new Date())); // id=1
}
public static void main(String[] args) throws ParseException {
// Zacznij tutaj
switch (args[1]){
case "-c":
String name = args[2];
Sex sex = args[3].contains("m")? Sex.MALE : Sex.FEMALE;
SimpleDateFormat simpleDateFormat= new SimpleDateFormat("MM dd yyyy", Locale.ENGLISH);
Date bd = simpleDateFormat.parse(args[4]);
createPerson(name,sex,bd);
break;
case "-u":
int id = Integer.parseInt(args[2]);
String nameU = args[3];
Sex sexU = args[4].contains("m")? Sex.MALE : Sex.FEMALE;
SimpleDateFormat simpleDateFormatU= new SimpleDateFormat("MM dd yyyy", Locale.ENGLISH);
Date bdU = simpleDateFormatU.parse(args[5]);
updatePerson(id,nameU,sexU,bdU);
break;
case "-d":
int idD = Integer.parseInt(args[2]);
deletePerson(idD);
break;
case "-i":
int idI = Integer.parseInt(args[2]);
displayPerson(idI);
break;
}
}
public static void createPerson(String name, Sex sex,Date bd){
int id = allPeople.size();
Person person = Sex.MALE == sex ? Person.createMale(name,bd): Person.createFemale(name,bd);
allPeople.add(id,person);
System.out.println(id);
// for (int i = 0; i < allPeople.size(); i++) {
// System.out.println(allPeople.get(i).getName());
// }
}
public static void updatePerson(int id, String name, Sex sex, Date bd){
Person person = allPeople.get(id);
person.setName(name);
person.setSex(sex);
person.setBirthDate(bd);
// for (int i = 0; i < allPeople.size(); i++) {
// System.out.println(allPeople.get(i).getName());
// }
}
public static void deletePerson(int id){
Person person = allPeople.get(id);
// allPeople.remove(id);
person.setName(null);
person.setSex(null);
person.setBirthDate(null);
// for (int i = 0; i < allPeople.size(); i++) {
// System.out.println(allPeople.get(i).getName());
// }
}
public static void displayPerson(int id) throws ParseException {
String name = allPeople.get(id).getName();
Sex sex = allPeople.get(id).getSex();
String sexString = sex.toString().contains("FEMALE") ? "f":"m";
SimpleDateFormat simpleDateFormatU= new SimpleDateFormat("MMM dd yyyy", Locale.ENGLISH);
Date bd = allPeople.get(id).getBirthDate();
String birthDateString = simpleDateFormatU.format(bd);
System.out.println(name+" "+sexString+" "+birthDateString);
}
}