Не могу понять что делаю не так. В -d проблем нет. Отличаются пункты только датой, возможно что то с датой не так. Пробовал решать по разному - не выходит. Мне бы хотя бы пункт -c понять, чтобы с остальным разобраться
package com.javarush.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<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 ParseException {
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH);
switch (args[0]){
case "-c":
if(args[2].equals("м")){
allPeople.add(Person.createMale(args[1],format.parse(args[3])));
}else{
allPeople.add(Person.createFemale(args[1],format.parse(args[3])));
}
System.out.println(allPeople.size()-1);
case ("-u"):
allPeople.get(Integer.parseInt(args[1])).setName(args[2]);
if(args[3].equals("м")){
allPeople.get(Integer.parseInt(args[1])).setSex(Sex.MALE);
}else{
allPeople.get(Integer.parseInt(args[1])).setSex(Sex.FEMALE);
}
allPeople.get(Integer.parseInt(args[1])).setBirthDate(format.parse(args[4]));
case ("-d"):
allPeople.get(Integer.parseInt(args[1])).setName(null);
allPeople.get(Integer.parseInt(args[1])).setSex(null);
allPeople.get(Integer.parseInt(args[1])).setBirthDate(null);
case ("-i"):
if (allPeople.get(Integer.parseInt(args[1])) != null)
System.out.println(allPeople.get(Integer.parseInt(args[1])).getName() + " " + (allPeople.get(Integer.parseInt(args[1])).getSex() == Sex.MALE ? "м" : "ж") + " " + (allPeople.get(Integer.parseInt(args[1])).getBirthDate()));
break;
}
}
}