Входные данные:
-c Миронов м 15/04/1990 Андропов м 16/04/1992 Гуликов м 16/04/1992 Гулькин м 13/05/1992 Гуливерн м 13/05/1992 Гулипоп м 16/04/1992
По отладке - пишет - что 7-ым добавлется Гулипоп
Что не так? Пробовал убирать людей из входного значения и добавлять еще - все работает
Ментор пишет - Убедись, что действительно все люди добавляются в список allPeople.
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 df = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH);
Person person = null;
switch (args[0]) {
case "-c" : {
synchronized (allPeople) {
for (int y = 3; y < args.length + 1; y = y + 3) {
if (args[y-1].equals("м")) {
person = Person.createMale(args[y-2], df.parse(args[y]));
} else {
person = Person.createFemale(args[y-2], df.parse(args[y]));
}
allPeople.add(person);
System.out.println(allPeople.indexOf(person));
}
}
}
case "-u" : {
synchronized (allPeople) {
for (int y = 4; y < args.length+1; y = y + 4) {
person = allPeople.get(Integer.parseInt(args[y-3]));
person.setName(args[y-2]);
person.setBirthDay(df.parse(args[y]));
if(args[y-1].equals("м")) {
person.setSex(Sex.MALE);
} else {
person.setSex(Sex.FEMALE);
}
}
}
}
}
}
}