Моя программа делает:
1) Читаем из файла
2) отправляем данные в два метода, один собирает данные о имени, другой о дате, из метода даты вызывается итоговый метод person(), который обрабатывает дату и создаёт объект Person, после добавляет в список из объектов Person.
package com.javarush.task.task19.task1921;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.Date;
import java.io.FileNotFoundException;
/*
Хуан Хуанович
*/
public class Solution {
public static final List<Person> PEOPLE = new ArrayList<Person>();
public String name = "";
public String date = "";
public static void main(String[] args) throws IOException, FileNotFoundException {
BufferedReader fReader = new BufferedReader(new FileReader(args[0]));
while (fReader.ready()) {
Solution solution = new Solution();
String info = fReader.readLine();
String[] mas = info.split(" ");
solution.name(mas);
solution.date(mas);
}
fReader.close();
}
public void name(String[] mas) {
for (String element : mas) {
String str = element.replaceAll("\\p{N}", "");
if (!str.equals("")) name += str + " ";
}
name.trim();
}
public void date(String[] mas) {
for (String element : mas) {
String str = element.replaceAll("[\\D]", "");
if (!str.equals("")) date += str + " ";
}
date.trim();
person();
}
public void person() {
Calendar calendar = new GregorianCalendar();
String[] dateM = date.split(" ");
int year = Integer.parseInt(dateM[0]);
int month = Integer.parseInt(dateM[1]);
int dayofmonth = Integer.parseInt(dateM[2]);
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month-1);
calendar.set(Calendar.DAY_OF_MONTH, dayofmonth);
Date date = calendar.getTime();
Person person = new Person(name, date);
PEOPLE.add(person);
}
}