-c
Убедись, что действительно все люди добавляются в список allPeople.
-u
Убедись, что правильно обновляется дата рождения человека.
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>();
static {
allPeople.add(Person.createMale("Иванов Иван", new Date())); //сегодня родился id=0
allPeople.add(Person.createMale("Петров Петр", new Date())); //сегодня родился id=1
}
public static void main(String[] args) {
//start here - начни тут
SimpleDateFormat format = new SimpleDateFormat("dd-MM-yyyy");
SimpleDateFormat format1 = new SimpleDateFormat("dd-MMM-yyyy");
int i=1;
switch (args[0]) {
case "-c": {
synchronized (allPeople) {
for (; i < args.length; i += 3) {
if (args[i + 1].equals("м")) {
try {
allPeople.add(Person.createMale(args[i], format.parse(args[i + 2])));
} catch (ParseException e) {
e.printStackTrace();
}
} else if (args[i + 1].equals("ж")) {
try {
allPeople.add(Person.createFemale(args[i], format.parse(args[i + 2])));
} catch (ParseException e) {
e.printStackTrace();
}
}
System.out.println(allPeople.size() - 1);
}
}
break;
}
case "-u": {
synchronized (allPeople) {
for (; i < args.length; i += 4) {
try {
allPeople.get(Integer.parseInt(args[i])).setName(args[i+1]);
allPeople.get(Integer.parseInt(args[i])).setBirthDate(format.parse(args[i + 3]));
if (args[i + 2].equals("м")) {
allPeople.get(Integer.parseInt(args[i])).setSex(Sex.MALE);
} else if (args[i + 2].equals("ж")){
allPeople.get(Integer.parseInt(args[i])).setSex(Sex.FEMALE);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
break;
}
case "-d": {
synchronized (allPeople) {
for (; i < args.length; i++) {
allPeople.get(Integer.parseInt(args[i])).setName(null);
allPeople.get(Integer.parseInt(args[i])).setBirthDate(null);
allPeople.get(Integer.parseInt(args[i])).setSex(null);
}
}
break;
}
case "-i": {
synchronized (allPeople) {
for (int step = 1; step < args.length; step++) {
int id_i = Integer.parseInt(args[step]);
if (allPeople.get(id_i).getSex() == Sex.MALE)
System.out.println(allPeople.get(id_i).getName() + " м " + format1.format(allPeople.get(id_i).getBirthDate()));
else
System.out.println(allPeople.get(id_i).getName() + " ж " + format1.format(allPeople.get(id_i).getBirthDate()));
}
}
break;
}
}
}
}