Schlechteste Lesbarkeit Bitte verzeihen Sie, dass der Januar 2017 kommen wird.
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.Month;
import java.time.YearMonth;
import java.util.Arrays;
import java.util.stream.IntStream;
public class PremiumFriday {
public static void main(String[] args) {
String year = "2017";
Arrays.stream(Month.values()).map(m ->IntStream.range(1,YearMonth.of(Integer.parseInt(year), m).atEndOfMonth().lengthOfMonth()+1).mapToObj(d -> LocalDate.of(Integer.parseInt(year), m, d)).filter(d -> DayOfWeek.FRIDAY.equals(d.getDayOfWeek())).max(LocalDate::compareTo)).forEach(o -> System.out.println(o.get()));
}
}
Frühere Geschichte Ich habe eine Methode entwickelt, um nach Premium-Freitag zu fragen Ich habe eine Methode erstellt, um nach Premium Friday (Java 8-Version) zu fragen
※※※ Der Grund, warum ich das Jahr in String geändert habe, war, dass ich dachte: "Möchten Sie es von Args nehmen? Aber es ist ärgerlich, es zu bestehen." Ich habe auch das Gefühl, dass der Eingabewert in Java irgendwie String ist. Int oder java.time.Year ist natürlich.
Recommended Posts