Непонятно все работает!
Переделал вот так ! программа работает а валидатор не принимает те же ошибки
public static final List<Person> PEOPLE = new ArrayList<Person>();
public static void main(String[] args) throws IOException, ParseException {
BufferedReader bufferedReader = new BufferedReader(new FileReader(args[0]));
Pattern pattern = Pattern.compile("([\\D+\\s*]+)([\\d+\\s*]+)");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MM yyyy", Locale.ENGLISH);
String strok="";
while (bufferedReader.ready()) {
strok += bufferedReader.readLine();
}bufferedReader.close();
Matcher matcher = pattern.matcher(strok);
while (matcher.find()) {
if (!matcher.group(0).trim().isEmpty()) {
PEOPLE.add(new Person(matcher.group(1),
simpleDateFormat.parse(matcher.group(2))));
}
}
// for (int i = 0; i < PEOPLE.size(); i++) {
// System.out.println(PEOPLE.get(i).getBirthday() + " " +
// PEOPLE.get(i).getName());
// }
}}
Убедись, что из файла в список PEOPLE правильно добавляются имена.
Программа должна правильно работать с двойными именами, например Анна-Надежда.
Вывод программы в консоль
Thu Dec 31 00:00:00 EET 1987 Иванов Иван Иванович
Wed May 15 00:00:00 EEST 2013 Васяpackage com.javarush.task.task19.task1921;
import java.util.Date;
public class Person {
private String name;
private Date birthday;
public Person(String name, Date birthday) {
this.name = name;
this.birthday = birthday;
}
public String getName() {
return name;
}
public Date getBirthday() {
return birthday;
}
}