Я переопределил метод toString в классе Person, думал что так будет удобнее, потом дошел до удаления и понял, что что-то не то. Вообще программа как бы работает, но её надо как-то по другому решать...
Еще я в корне, наверное, не правильно делаю ввод. Меня просят в одну строку вводить же? Как это делать?
package com.javarush.task.task17.task1710;
import java.sql.SQLOutput;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
//-c name sex bd
//-u id name sex bd
//-d id
//-i id
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) {
String name1 = null;
String sex1 = null;
Date bd = null;
int id = 0;
Person person = null;
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH);
Scanner scanner = new Scanner(System.in);
String key = scanner.next();
if (key.equals("-c")) {
name1 = scanner.next();
sex1 = scanner.next();
try {
bd = dateFormat.parse(scanner.next());
} catch (ParseException e) {
e.printStackTrace();
}
if (sex1.equals("м")) person = Person.createMale(name1, bd);
else if (sex1.equals("ж")) person = Person.createFemale(name1, bd);
allPeople.add(person);
System.out.println(allPeople.indexOf(person));
} else if (key.equals("-u")) {
id = Integer.parseInt(scanner.next());
name1 = scanner.next();
sex1 = scanner.next();
try {
bd = dateFormat.parse(scanner.next());
} catch (ParseException e) {
e.printStackTrace();
}
if (sex1.equals("м")) person = Person.createMale(name1, bd);
else if (sex1.equals("ж")) person = Person.createFemale(name1, bd);
allPeople.set(id, person);
}
else if (key.equals("-d")){
id = Integer.parseInt(scanner.next());
allPeople.get(id).setName(null);
allPeople.get(id).setSex(null);
allPeople.get(id).setBirthDate(null);
}
else if(key.equals("-i")){
id = Integer.parseInt(scanner.next());
System.out.println(allPeople.get(id));
}
// for (Person p : allPeople) {
// System.out.println(p.getName() + " " + p.getSex() + " " + p.getBirthDate());
// }
// for (Person p : allPeople) {
// System.out.println(p.toString());
// }
}
}