Не прохожу последний блок, в чем может быть ошика?
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
}
static SimpleDateFormat date = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH);
static SimpleDateFormat date2 = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
public static void main(String[] args) {
if (args == null || args.length < 1)
throw new RuntimeException();
Person person;
switch (args[0]) {
case "-c":
synchronized (allPeople){
for (int i = 0; i < args.length; i = i+3) {
try {
Date dat = date.parse(args[i + 3]);
if (args[i + 2].equals("м")) {
allPeople.add(Person.createMale((args[i + 1]), dat));
System.out.println(allPeople.size() - 1);
} else {
allPeople.add(Person.createFemale((args[i + 1]), dat));
System.out.println(allPeople.size() - 1);
}
} catch (Exception e) { }
}
}
break;
case "-u":
synchronized (allPeople){
for (int i = 0; i < args.length; i = i+4) {
try {
Date dat = date.parse(args[i+4]);
if (args[i+3].equals("м")) {
allPeople.set(Integer.parseInt(args[i+1]),Person.createMale((args[i+2]), dat));
} else {
allPeople.set(Integer.parseInt(args[i+1]),Person.createFemale((args[i+2]), dat));
}
} catch (Exception e) {
}
}
}
break;
case "-d":
synchronized (allPeople){
for (int i = 0; i < args.length-1; i++) {
allPeople.get(Integer.parseInt(args[i+1])).setBirthDate(null);
allPeople.get(Integer.parseInt(args[i+1])).setName(null);
allPeople.get(Integer.parseInt(args[i+1])).setSex(null);
}
}
break;
case "-i":
synchronized (allPeople){
for (int i = 1; i < args.length; i++) {
int id = Integer.parseInt(args[i]);
System.out.print(allPeople.get(id).getName() + " ");
System.out.print(allPeople.get(id).getSex().equals(Sex.MALE) ? "м " : "ж ");
System.out.print(date2.format(allPeople.get(id).getBirthDate()));
}
}
break;
}
}
}
Artur Latypov
35 уровень
В чем ошибка
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia VolkovaJava Developer в DXCMaster
22 апреля 2021, 19:09
Всех в одну строчку выводишь?
0
Artur Latypov
22 апреля 2021, 20:12
Ну да, вначале просто в одном System.out.println через плюсик и робел перечислял, все равно блок case -i не принимался, я подсмотрел уже решение, там каждый раз ссылка person переопределялась, но типо зачем, по идее и так должно работать. Случайно нажал проверить и принялось готовое решение, а в чем проблема перечислить, не переопределяя ссылку, я так и не понял
0
Ksenia VolkovaJava Developer в DXCMaster
22 апреля 2021, 21:39
Дело не в ссылке. Просто каждый человек должен выводиться на новой строке.
Что там у тебя было в одном System.out.println - это надо отдельно смотреть.
0
Artur Latypov
22 апреля 2021, 21:55
А, понял. Спасибо
0