Добрый день!
Никак не могу понять что не устраивает валидатор.
Выдает ошибку на параметры -c и -u с рекомендациями: "Убедись, что правильно обновляется/добавляется дата рождения человека."
package com.javarush.task.task17.task1710;
import java.beans.SimpleBeanInfo;
import java.io.BufferedReader;
import java.io.InputStreamReader;
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<Person>();
static {
allPeople.add(Person.createMale("Иванов Иван", new Date())); //сегодня родился id=0
allPeople.add(Person.createMale("Петров Петр", new Date())); //сегодня родился id=1
}
public static void main(String[] args) throws Exception {
//start here - начни тут
SimpleDateFormat dateIn = new SimpleDateFormat("dd/mm/yyyy", Locale.ENGLISH);
SimpleDateFormat dateOut = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
switch (args[0]) {
case "-c":
Date birthday = dateIn.parse(args[3]);
if (args[2].equals("м")) {
allPeople.add(Person.createMale(args[1], birthday));
System.out.println(allPeople.size()-1);
}
else if(args[2].equals("ж")) {
allPeople.add(Person.createFemale(args[1], birthday));
System.out.println(allPeople.size()-1);
}
break;
case "-d":
allPeople.get(Integer.parseInt(args[1])).setName(null);
allPeople.get(Integer.parseInt(args[1])).setBirthDate(null);
allPeople.get(Integer.parseInt(args[1])).setSex(null);
break;
case "-u":
if (args[3].equals("м")) {
allPeople.set((Integer.parseInt(args[1])), Person.createMale(args[2],dateIn.parse(args[4]) ));
}
else if(args[3].equals("ж")) {
allPeople.set((Integer.parseInt(args[1])), Person.createFemale(args[2],dateIn.parse(args[4]) ));
}
break;
case "-i":
Person person = allPeople.get(Integer.parseInt(args[1]));
System.out.println(person.getName() + " " +(person.getSex().equals(Sex.MALE) ? "м" : "ж") + " " + dateOut.format(person.getBirthDate()));
break;
}
}
}