everything works correctly
package pl.codegym.task.task17.task1710;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.lang.reflect.Array;
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
//while (true) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String comend = reader.readLine();
List<String> list = new ArrayList(Arrays.asList(comend.split(" ", 5)));
if (list.get(0).equals("-u")) {
list = new ArrayList(Arrays.asList(comend.split(" ", 6)));
if(list.get(4).equals("m")||list.get(4).equals("f")) {
list.set(2, list.get(2) + " " + list.get(3));
list.remove(3);
}else list = new ArrayList(Arrays.asList(comend.split(" ", 5)));
} else if(list.get(0).equals("-c"))
if (list.get(3).equals("m")||list.get(3).equals("f")) {
list.set(1, list.get(1) + " " + list.get(2));
list.remove(2);
} else list = new ArrayList(Arrays.asList(comend.split(" ", 4)));
String[] parametrs = new String[list.size()];
parametrs = list.toArray(parametrs);
//for(String s : parametrs) System.out.println(s);
if (parametrs[0].equals("-c")) {
if (parametrs[2].equals("m"))
allPeople.add(Person.createMale(parametrs[1], parseDate(parametrs[3])));
else allPeople.add(Person.createFemale(parametrs[1], parseDate(parametrs[3])));
System.out.println(allPeople.size() - 1);
} else if (parametrs[0].equals("-u")) {
Person person = allPeople.get(Integer.parseInt(parametrs[1]));
person.setName(parametrs[2]);
if (parametrs[3].equals("m"))
person.setSex(Sex.MALE);
else person.setSex(Sex.FEMALE);
person.setBirthDate(parseDate(parametrs[4]));
} else if (parametrs[0].equals("-d")) {
Person person = allPeople.get(Integer.parseInt(parametrs[1]));
person.setName(null);
person.setSex(null);
person.setBirthDate(null);
} else if (parametrs[0].equals("-i")) {
Person person = allPeople.get(Integer.parseInt(parametrs[1]));
System.out.print(person.getName());
if (person.getSex().equals(Sex.MALE))
System.out.print(" m ");
else System.out.print(" f ");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMM dd yyyy", Locale.ENGLISH);
System.out.println(simpleDateFormat.format(person.getBirthDate()));
//} else break;
}
}
public static Date parseDate(String data) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MM yyyy");
return simpleDateFormat.parse(data.substring(1,11));
}
}