Подскажите в чём проблема.
Предыдущую задачу , только с добавление 1 человека решил. а тут не хочет принимать.
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>();
public static SimpleDateFormat simpleFormat = new SimpleDateFormat("dd/MM/yyyy",Locale.ENGLISH);
public static SimpleDateFormat simpleFormat1 = new SimpleDateFormat("dd-MMM-yyyy",Locale.ENGLISH);
public static boolean sex;
public static boolean sex1;
public static Person 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 {
//start here - начни тут
if (args.length != 0){
switch (args[0]){
// 0 1 2 3 4 5 6
case "-c": //-c name1 sex1 bd1 name2 sex2 bd2 -c Andrei м 15/04/1990 Anna ж 15/04/1988
sex = args[2].equals("м") ? true : false;
sex1 = args[5].equals("м") ? true : false;
synchronized (allPeople){
allPeople.add(create(sex,args[1],args[3]));
allPeople.add(create(sex1,args[4],args[6]));
}
System.out.println(allPeople.size() -2);
System.out.println(allPeople.size() - 1);
//allPeople.forEach(u -> System.out.println(u.getName() + " " + u.getSex())); // Проверка на добавление людей
break;
// 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
case "-u": // -u id1 name1 sex1 bd1 id2 name2 sex2 bd2 -u 1 Aleks м 15/03/1989 2 lena ж 22/07/1977
sex = args[3].equals("м") ? true : false;
sex1 = args[7].equals("м") ? true : false;
synchronized (allPeople){
allPeople.remove(Integer.parseInt(args[1]));
allPeople.remove(Integer.parseInt(args[5]));
allPeople.add(Integer.parseInt(args[1]), create(sex, args[2], args[4]));
allPeople.add(Integer.parseInt(args[5]), create(sex1, args[6], args[8]));
}
break;
case "-d"://-d id1 id2 id3 id4 -d 1 2 3 4
//allPeople.forEach(n -> System.out.println(n.getName()));
synchronized (allPeople) {
for (int i = 1; i < 5; i++) {
allPeople.get(Integer.parseInt(args[i])).setSex(null);
allPeople.get(Integer.parseInt(args[i])).setName(null);
allPeople.get(Integer.parseInt(args[i])).setBirthDate(null);
}
}
//allPeople.forEach(n -> System.out.println(n.getName())); // проверка на изменение данных
break;
case "-i":// -i id1 id2 id3 id4 -i 0 1 2 3
synchronized (allPeople) {
for (int i = 1; i < 5; i++) {
int index = Integer.parseInt(args[i]);
if (allPeople.get(index).getSex().toString().equals("MALE")) {
System.out.println(allPeople.get(index).getName() + " м " +
simpleFormat1.format(allPeople.get(index).getBirthDate()));
} else {
System.out.println(allPeople.get(index).getName() + " ж " +
simpleFormat1.format(allPeople.get(index).getBirthDate()));
}
}
}
break;
}
}
}
public static Person create(Boolean s , String name , String date) throws ParseException {
if (!s){
person = Person.createFemale(name,simpleFormat.parse(date));
}else {
person = Person.createMale(name,simpleFormat.parse(date));
} return person;
}
}