Why my solution does not pass validation?
package pl.codegym.task.task17.task1710;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.sql.SQLOutput;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
/*
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 IOException, ParseException {
// Zacznij tutaj
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
//while (true) {
String arg = reader.readLine();
String arg2 = arg.replaceAll("\"", "");
String[] argumenty = arg2.split(" ");
if (argumenty[0].equals("-c")) {
// System.out.println(" Rozmiar listy przed:" + allPeople.size());
//-c name sex bd
//-c (dodaje osobę z określonymi argumentami na końcu allPeople; wyświetla id na ekranie)
//-c Washington m "04 15 1990"
Calendar kalendarz = new GregorianCalendar();
kalendarz.set(Integer.parseInt(argumenty[5]), Integer.parseInt(argumenty[3]) - 1, Integer.parseInt(argumenty[3]));
Person mezczyzna;
Person kobieta;
if (argumenty[2].equals("m")) {
mezczyzna = Person.createMale(argumenty[1], kalendarz.getTime());
allPeople.add(mezczyzna);
System.out.println(allPeople.size() - 1);
} else if (argumenty[2].equals("f")) {
kobieta = Person.createFemale(argumenty[1], kalendarz.getTime());
allPeople.add(kobieta);
System.out.println(allPeople.size() - 1);
}
//System.out.println(" Rozmiar listy po:" + allPeople.size());
//System.out.println(allPeople.get(2).getName());
//System.out.println(allPeople.get(2).getSex());
//System.out.println(allPeople.get(2).getBirthDate());
}
if (argumenty[0].equals("-u")) {
// -u (aktualizuje dane osoby o określonym id)
// -u id name sex 04 15 1990
int id = Integer.parseInt(argumenty[1]);
String name = argumenty[2];
Sex sex = null;
if (argumenty[3].equals("m"))
sex = Sex.MALE;
else if (argumenty[3].equals("f"))
sex = Sex.FEMALE;
int rok = Integer.parseInt(argumenty[6]);
int dzien = Integer.parseInt(argumenty[5]);
int miesiac = Integer.parseInt(argumenty[4]) - 1;
Calendar kalendarz = new GregorianCalendar();
kalendarz.set(rok, miesiac, dzien);
allPeople.get(id).setName(name);
allPeople.get(id).setBirthDate(kalendarz.getTime());
allPeople.get(id).setSex(sex);
}
if (argumenty[0].equals("-d")) {
// -d id
//-d (wykonuje logiczne usunięcie osoby o określonym id; zastępuje wszystkie dane wartością null)
int id = Integer.parseInt(argumenty[1]);
allPeople.get(id).setName(null);
allPeople.get(id).setBirthDate(null);
allPeople.get(id).setSex(null);
}
if (argumenty[0].equals("-i")) {
//-i id
//-i (wyświetla informacje na temat osoby o określonym id: name sex (m/f) bd (format Apr 15 1990))
String pattern = "MMM dd yyyy";
SimpleDateFormat format = new SimpleDateFormat(pattern, Locale.ENGLISH);
int id = Integer.parseInt(argumenty[1]);
String name = allPeople.get(id).getName();
String sex = null;
if (allPeople.get(id).getSex() == Sex.MALE)
sex = "m";
else if(allPeople.get(id).getSex() == Sex.FEMALE)
sex = "f";
Date dataUrodzenia = allPeople.get(id).getBirthDate();
String dataFormat = null;
if(!(dataUrodzenia == null)) {
dataFormat = format.format(dataUrodzenia);
}
System.out.println(name + " " + sex + " " + dataFormat);
}
}
// }
}