Отличие только в Event.SOLVE_TASK и Event.DONE_TASK, но первый метод пропускает а второй нет. ПАМАГИИИТЕЕЕ ....
3.5. Метод getDateWhenUserSolvedTask() должен возвращать дату, когда пользователь впервые попытался решить определенную задачу. Если такой даты в логах нет - null.
public Date getDateWhenUserSolvedTask(String user, int task, Date after, Date before) {
List<Date> dates = new ArrayList<>();
for (MyLog log : listFile) {
if (isInDateRange(after, before, log)
&& log.user.equals(user)
&& log.task == ((Integer) task)
&& log.event.equals(Event.SOLVE_TASK.toString()))
dates.add(log.date);
}
if(!dates.isEmpty()) {
Collections.sort(dates);
return dates.get(0);
} else return null;
}
3.6. Метод getDateWhenUserDoneTask() должен возвращать дату, когда пользователь впервые решил определенную задачу. Если такой даты в логах нет - null.
public Date getDateWhenUserDoneTask(String user, int task, Date after, Date before) {
List<Date> dates = new ArrayList<>();
for (MyLog log : listFile) {
if (isInDateRange(after, before, log)
&& log.user.equals(user)
&& log.task == ((Integer) task)
&& log.event.equals(Event.DONE_TASK.toString()))
dates.add(log.date);
}
if(!dates.isEmpty()) {
Collections.sort(dates);
return dates.get(0);
} else return null;
}
package com.javarush.task.task39.task3913;
import java.nio.file.Paths;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Solution {
public static void main(String[] args) throws ParseException {
LogParser logParser = new LogParser(Paths.get("C:\\JAVA\\JavaRushTasks\\4.JavaCollections\\src\\com\\javarush\\task\\task39\\task3913\\logs"));
DateFormat format = new SimpleDateFormat("d.M.y H:m:s");
Date d1 = format.parse("21.10.2021 19:45:25");
System.out.println(logParser.getNumberOfUniqueIPs(null, d1));
// System.out.println(logParser.getNumberOfUniqueIPs(null, null));
// System.out.println(logParser.getUniqueIPs(null, null));
// System.out.println(logParser.getIPsForUser("Amigo" ,null, null));
// System.out.println(logParser.getIPsForEvent(Event.LOGIN,null, null));
// System.out.println(logParser.getIPsForStatus(Status.OK,null, null));
System.out.println(logParser.getDateWhenUserDoneTask("Vasya Pupkin",15, null,d1));
}
}