Помогите, пожалуйста, почему не проходит по параметрам -c, -u, -i?
package com.javarush.task.task17.task1711;
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 2
*/
public class Solution {
public static volatile 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 inputDate = new SimpleDateFormat("dd/MMM/yyyy", Locale.ENGLISH);
SimpleDateFormat outputDate = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
try {
switch (args[0]) {
case "-c":
synchronized (allPeople) {
for (int i = 1; i < args.length; i+=3){
String name = args[i];
String sex = args[i + 1];
Date date = inputDate.parse(args[i + 2]);
Person person = sex.equals("м") ? Person.createMale(name, date) :
Person.createFemale(name, date);
allPeople.add(person);
System.out.println(allPeople.indexOf(person));
}
} break;
case "-u":
synchronized (allPeople) {
for (int i = 1; i < args.length; i+=4){
int id = Integer.parseInt(args[i]);
String name = args[i + 1];
String sex = args[i + 2];
Date date = inputDate.parse(args[i + 3]);
allPeople.get(id).setName(name);
allPeople.get(id).setSex(sex.equals("м") ? Sex.MALE : Sex.FEMALE);
allPeople.get(id).setBirthDate(date);
}
} break;
case "-d":
synchronized (allPeople) {
for (int i = 1; i < args.length; i++) {
int id = Integer.parseInt(args[i]);
allPeople.get(id).setName(null);
allPeople.get(id).setSex(null);
allPeople.get(id).setBirthDate(null);
}
} break;
case "-i":
synchronized (allPeople) {
for (int i = 1; i < args.length; i++) {
int id = Integer.parseInt(args[i]);
Person person = allPeople.get(id);
System.out.println(person.getName() + " " + person.getSex() + " " + outputDate.format(person.getBirthDate()));
}
} break;
}
} catch (ParseException e) {
e.printStackTrace();
} catch (NumberFormatException e) {
e.printStackTrace();
}
}
}