Ребзя) Хелпните плиз. Я походу не так решаю. Все 4 условия выполняются, но не одно не проходит.
package com.javarush.task.task17.task1710;
import java.io.*;
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<Person>();
public static int id = 2;
static
{
allPeople.add(Person.createMale("Иванов Иван", new Date())); //сегодня родился id=0
allPeople.add(Person.createMale("Петров Петр", new Date())); //сегодня родился id=1
}
public static void main(String[] args) throws IOException, ParseException
{
//start here - начни тут
InputStream inputStream = System.in;
Reader reader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(reader);
String command = bufferedReader.readLine();
String[] commands = command.split(" ");
Date date;
String result = "";
// Добавляем человека
switch (commands[0])
{
case "-c":
date = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(commands[3]);
if (commands[2].equals("м"))
{
allPeople.add(Person.createMale(commands[1], date));
}
else if (commands[2].equals("ж"))
{
allPeople.add(Person.createFemale(commands[1], date));
}
Solution.id++;
System.out.println(Solution.id);
break;
// Обновить данные о человеке
case "-u":
date = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(commands[4]);
allPeople.get(Integer.parseInt(commands[1])).setName(commands[2]);
allPeople.get(Integer.parseInt(commands[1])).setBirthDate(date);
if (commands[2].equals("м"))
{
allPeople.get(Integer.parseInt(commands[1])).setSex(Sex.MALE);
}
else if (commands[2].equals("ж"))
{
allPeople.get(Integer.parseInt(commands[1])).setSex(Sex.FEMALE);
}
break;
// Удалить человека по id
case "-d":
allPeople.get(Integer.parseInt(commands[1])).setSex(null);
allPeople.get(Integer.parseInt(commands[1])).setBirthDate(null);
allPeople.get(Integer.parseInt(commands[1])).setName(null);
allPeople.remove(Integer.parseInt(commands[1]));
break;
// Вывести информацию по id
case "-i":
result = result + String.valueOf(allPeople.get(Integer.parseInt(commands[1])).getName()) + " ";
switch (allPeople.get(Integer.parseInt(commands[1])).getSex())
{
case MALE:
result = result + "м ";
break;
case FEMALE:
result = result + "ж ";
break;
}
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MMM-yyyy");
result = result + simpleDateFormat.format(allPeople.get(Integer.parseInt(commands[1])).getBirthDate());
System.out.println(result);
break;
}
}
}