По дебагеру проверяю вроде все нормально.
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;
/*
CRUD 2
*/
public class Solution {
public static volatile List<Person> allPeople = new ArrayList<Person>();
public static SimpleDateFormat date1 = new SimpleDateFormat("dd/MM/yyyy");
public static SimpleDateFormat date2 = new SimpleDateFormat("dd-MMM-yyyy");
public static String[] args1;
public static ArrayList<Integer> id = new ArrayList<Integer>();
public static ArrayList<String> name = new ArrayList<String>();
public static ArrayList<String> sex = new ArrayList<String>();
public static ArrayList<Date> bd = new ArrayList<Date>();
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 {
//start here - начни тут
args1 = args;
switch (args[0]) {
case "-c": {
c(); break;
}
case "-u": {
u(); break;
}
case "-d": {
d(); break;
}
case "-i": {
i(); break;
}
default:
throw new IllegalStateException("Unexpected value: ");
}
}
public static void c() throws ParseException {
for(int i =1; i<args1.length;i+=3) {
name.add(args1[i]);
}
for (int i = 2;i<args1.length; i+=3) {
sex.add(args1[i]);
}
for(int i = 3; i<args1.length;i+=3) {
bd.add(date1.parse(args1[i]));
}
for(int i = 0; i<name.size(); i++) {
Person person;
if (sex.get(i).equals("м")) {
person = Person.createMale(name.get(i),bd.get(i));
} else {
person = Person.createFemale(name.get(i),bd.get(i));
}
allPeople.add(person);
System.out.println(allPeople.size()-1);
}
}
public static void u() throws ParseException {
for(int i =1; i<args1.length;i+=4) {
id.add(Integer.parseInt(args1[i]));
}
for(int i =2; i<args1.length;i+=4) {
name.add(args1[i]);
}
for (int i = 3;i<args1.length; i+=4) {
sex.add(args1[i]);
}
for(int i = 4; i<args1.length;i+=4) {
bd.add(date1.parse(args1[i]));
}
for(Integer i : id) {
Person person = allPeople.get(i);
person.setName(name.get(i));
if(sex.get(i).equals("м")) {
person.setSex(Sex.MALE);
} else { person.setSex(Sex.FEMALE); }
Date s = date1.parse(date1.format(bd.get(i)));
person.setBirthDate(s);
}
}
public static void d() {
for(int i =1; i<args1.length;++i) {
id.add(Integer.parseInt(args1[i]));
}
for(Integer i : id) {
Person person = allPeople.get(i);
person.setSex(null);
person.setName(null);
person.setBirthDate(null);
}
}
public static void i() {
for(int i =1; i<args1.length;++i) {
id.add(Integer.parseInt(args1[i]));
}
for(Integer i : id) {
Person person = allPeople.get(i);
System.out.println(person.getName() + " " + person.getSex() + " " + date2.format(person.getBirthDate()));
}
}
}