Pire lisibilité Veuillez pardonner que janvier arrive en 2017.
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()));
}
}
Ancienne histoire J'ai créé une méthode pour demander un supplément vendredi J'ai créé une méthode pour demander le vendredi premium (version Java 8)
※※※ La raison pour laquelle j'ai changé l'année en String était que je me disais: "Voudriez-vous le prendre des arguments? Mais c'est ennuyeux de le passer." De plus, je pense que la valeur d'entrée en Java est en quelque sorte String. Int ou java.time.Year est naturel.
Recommended Posts