Принимает только 2 первых условия, остальные пишет что не работает.
Проверял добавив у себя в начале:
String[] arg = {"-c Миронов м 15/04/1990",
"-i 1",
"-d 0",
"-i 2"};
args = arg;
package com.javarush.task.task17.task1710;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.ParseException;
/*
CRUD
*/
public class Solution {
public static 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 IOException {
//start here - начни тут
for(int i = 0; i < args.length; i++) {
String string = args[i];
String[] massive = string.split(" ");
String parameter = massive[0];
Integer id = 0;
String name = "";
String sex = "";
Date bd = new Date();
String date = "";
if(parameter.contains("-c")) {
name = massive[1];
sex = massive[2];
date = massive[3];
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
try {
bd = dateFormat.parse(date);
} catch (ParseException e) {
}
if(sex.contains("м")) {
allPeople.add(Person.createMale(name, bd));
}
else if(sex.contains("ж")) {
allPeople.add(Person.createFemale(name, bd));
}
else {
}
id = allPeople.size() - 1;
System.out.println(id);
}
else if(parameter.contains("-u")) {
id = Integer.parseInt(massive[1]);
name = massive[2];
sex = massive[3];
date = massive[4];
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
try {
bd = dateFormat.parse(date);
} catch (ParseException e) {
}
if(sex.equals("м")) {
allPeople.set(id, Person.createMale(name, bd));
}
else if(sex.equals("ж")) {
allPeople.set(id, Person.createFemale(name, bd));
}
else {
}
}
else if(parameter.contains("-d")) {
id = Integer.parseInt(massive[1]);
Person nullPerson = Person.createFemale(null, null);
nullPerson.setSex(null);
allPeople.set(id, nullPerson);
}
else if(parameter.contains("-i")) {
id = Integer.parseInt(massive[1]);
name = allPeople.get(id).getName();
sex = allPeople.get(id).getSex().equals(Sex.MALE) ? "м" : "ж" ;
bd = allPeople.get(id).getBirthDate();
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
date = dateFormat.format(bd);
System.out.println(name + " " + sex + " " + date);
}
else {
System.out.println("not corrent parameter");
}
}
}
}