Aktywne Wpisy

Fennrir +58
Wykopki oczywiście dalej uważają że problemy na zachodzie to wina pierwszego pokolenia, jakichś "źle zintegrowanych" jednostek i zachwycają się panem Kunta Kinte w wojsku xD
Sorry, ale prawda jest taka że jak ktoś się mocno wyróżnia to nie da się go w pełni zintegrować, taki czarny nawet po pełnej integracji kulturowej nadal będzie Afro-Amerykaninem,Afrofrancuzem,Black British,etc. i tym samym po przekroczeniu pewnego pułapu zacznie się np.:narzekanie że jakaś dziedzina życia jest "za biała",
Sorry, ale prawda jest taka że jak ktoś się mocno wyróżnia to nie da się go w pełni zintegrować, taki czarny nawet po pełnej integracji kulturowej nadal będzie Afro-Amerykaninem,Afrofrancuzem,Black British,etc. i tym samym po przekroczeniu pewnego pułapu zacznie się np.:narzekanie że jakaś dziedzina życia jest "za biała",
źródło: Europa i święta powinny byc białe
Pobierz
patryk_ekiert +413
Ta dzisiejsza młodzież to jakiś dramat. Przechodziłem wczoraj koło podstawówki i nagle widzę, że dzieci wesoło wybiegaja. Chodnik opluły ludzi przepędziły. I ciągle śpiewają hej hej na na hej hej.





Hej, mam klasę User, w niej String dataUrodzenia (oraz opcjonalnie string numerTelefonu) w postaci yyyy-mm-dd zczytywany z txt, chcę iterować listę w pętli
for (User dataUrodzenia : list) {}
(chyba taka jest dobra) tak, żeby dostać najstarszego użytkownika który numer telefonu posiada, jak to wykombinować? Z góry dzięki, nie mam pojęcia która biblioteka będzie najlepsza i jak to ugryźć.
user.date = LocalDate.parse(DateTimeFormatter.ofPattern("yyyy-MM-dd"))
a potem User user = list.stream().filter(u -> u.numerTelefonu != null).max((u1, u2) -> u1.date.compareTo(u2.date));
Oczywiście metody źle bo z głowy, implementację filtra i redukcji zostawiam, bo trywialne.
:)
@tptak: @AwizisieAkat: @wczoraj: @Kuriozal:
for (User user : list) {
User najstarszyUser = null;
if (najstarszyUser == null) {
najstarszyUser = user;
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(user.getDataUrodzenia());
Date date2 = sdf.parse(najstarszyUser.getDataUrodzenia());
if(date.getTime() < date2.getTime()) {
najstarszyUser = user;
}
System.out.println(najstarszyUser);
}
@dzeksondzekson: date to user z petli i jezeli ma mniejsza to go zapisujesz do najstarszego? no i print za forem wrzuc
Najpierw https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#filter-java.util.function.Predicate-
potem
https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#min-java.util.Comparator-
Jak masz datę w normalnym formacie to nawet String.compareTo da radę.
Jeszcze istotne w tym kontekście jest to, żeby wypisywać nei wiem czy zmieniać w metodzie toString
if(date.getTime() < date2.getTime() && user.numer != null lub user.numer != "" ) {
Ostatnie 2 pytania.
1. Jak to łatwo zmienić żeby pokazywało wiek zamiast daty urodzenia przy wypisywaniu listy użytkowników, domyślam się że muszę zmienić w toString bo obecnie mam
tego domyślnego wygenerowanego przez IDE, tylko nie wiem jak
Co do testów to polecam poczytać o JUnit. Zaimportować bibliotekę, porobić kilka testów jednostkowych. Polega to
// zamiana daty urodzenia na wiek
for (User user : list) {
Long wiek = obliczWiek(user.getDataUrodzenia());
user.setDataUrodzenia(wiek.toString());
}
}
// obliczanie wieku
private static long obliczWiek(String dataUrodzenia) throws ParseException {
Date urodziny = sdf.parse(dataUrodzenia);
Date teraz = new Date();
@SuppressWarnings("deprecation")
long wiek = teraz.getYear() - urodziny.getYear();
return wiek;
}
Mam takie coś, jakieś pomysły żeby zamienić te przestarzałe getYear na coś innego?
Poza tym wszystko działa.
Date date = new Date(); Calendar calendar = new GregorianCalendar(); calendar.setTime(date); int year = calendar.get(Calendar.YEAR); //Add one to month {0 - 11} int month = calendar.get(Calendar.MONTH) + 1; int day = calendar.get(Calendar.DAYOFMONTH)