а не StringBuilder, это ради синхронизации нитей? они здесь есть?
или какие другие причины?
mport java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.List;
/*
Хуан Хуанович
*/
public class Solution4 {
public static final List<Person> PEOPLE = new ArrayList<Person>();
public static void main(String[] args) throws IOException, ParseException {
String name = args[0];
String nextLine = "";
StringBuilder sb = new StringBuilder();
try (BufferedReader fr1 = new BufferedReader(new FileReader(name))
) {
while ((nextLine = fr1.readLine()) != null) {
String [] array = nextLine.split(" ");
for (int i = 0; i < array.length - 3; i++) {
sb.append(array[i] + " ");
}
String famImOtch = sb.toString().trim();
int day = Integer.parseInt(array[array.length - 3]);
int month = Integer.parseInt(array[array.length - 2]) - 1;
int year = Integer.parseInt(array[array.length-1]);
Calendar birthday = new GregorianCalendar(year, month, day);
PEOPLE.add(new Person(famImOtch, birthday.getTime()));
sb.setLength(0);
}
}
for (Person first : PEOPLE) {
System.out.println(first.getName() + " : " + first.getBirthDate());
SimpleDateFormat sdf = new SimpleDateFormat("y MM d");
System.out.println(first.getName() + " : " + sdf.format(first.getBirthDate()));
}
}
}
Oleksii
36 уровень
В правильном решении StringBuffer,
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Flexo Bending Unit #3370318
14 июня 2021, 00:10
Здесь нет никаких нитей, и ничто не указывает на предпочтение в выборе буфера билдеру. Просто задел на потенциальную многотредность
0
Oleksii
14 июня 2021, 12:12
Спасибо!
0