Подскажите пожалуйста что опять не нравится валидатору, сколько бы строк не скормил все нормально обновляется. Непонимаю что не так.
Рекмоендация ментора
Убедись, что действительно информация о всех людях меняется в списке 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 {
//start here - начни тут
// System.out.println(allPeople.get(0).getName() +" "+ allPeople.get(0).getSex() +" "+ allPeople.get(0).getBirthDate());
switch (args[0]) {
case "-c":
synchronized (allPeople) {
int a = 1;
int b = 3;
int c = 2;
SimpleDateFormat sdf = new SimpleDateFormat();
sdf.applyPattern("dd/MM/yyyy");
for (int i = 1; i < args.length; i = i + 3) {
if (args[c].contains("м")) {
allPeople.add(Person.createMale(args[a], sdf.parse(args[b])));
a = a + 3;
b = b + 3;
c = c + 3;
System.out.println(allPeople.size() - 1);
} else if (args[c].contains("ж")) {
allPeople.add(Person.createFemale(args[a], sdf.parse(args[b])));
a = a + 3;
b = b + 3;
c = c + 3;
System.out.println(allPeople.size() - 1);
}
}
}
break;
case "-u":
synchronized (allPeople) {
int id = 0;
int name = 2;
int sex = 3;
int bd = 4;
SimpleDateFormat sdf2 = new SimpleDateFormat();
sdf2.applyPattern("dd/MM/yyyy");
for (int i = 1; i < args.length; i = i + 4) {
allPeople.get(id).setName(args[name]);
allPeople.get(id).setBirthDate(sdf2.parse(args[bd]));
if (args[sex].contains("м")) {
allPeople.get(id).setSex(Sex.MALE);
} else allPeople.get(id).setSex(Sex.FEMALE);
id++;
name += 4;
bd += 4;
sex += 4;
}
}
break;
case "-d":
synchronized (allPeople) {
int idd = 1;
for (int i = 1; i < args.length; i++) {
allPeople.get(Integer.parseInt(args[idd])).setName(null);
allPeople.get(Integer.parseInt(args[idd])).setSex(null);
allPeople.get(Integer.parseInt(args[idd])).setBirthDate(null);
idd++;
}
}
break;
case "-i":
synchronized (allPeople) {
int iddd = 1;
SimpleDateFormat sdf3 = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
for (int i = 1; i < args.length; i++) {
if (allPeople.get(Integer.parseInt(args[iddd])).getSex().equals(Sex.MALE)) {
System.out.println(allPeople.get(Integer.parseInt(args[iddd])).getName()
+ " " + "м"
+ " " + sdf3.format(allPeople.get(Integer.parseInt(args[iddd])).getBirthDate()));
iddd++;
} else {
System.out.println(allPeople.get(Integer.parseInt(args[iddd])).getName()
+ " " + "ж"
+ " " + sdf3.format(allPeople.get(Integer.parseInt(args[iddd])).getBirthDate()));
iddd++;
}
}
}
break;
}
// System.out.println(args[4]);
// System.out.println(allPeople.size());
// System.out.println(allPeople.get(0).getName() +" "+ allPeople.get(0).getSex() +" "+ allPeople.get(0).getBirthDate());
// System.out.println(allPeople.get(1).getName() +" "+ allPeople.get(1).getSex() +" "+ allPeople.get(1).getBirthDate());
}
}