Hey
Chcialbym aby po wpisaniu przez uzytkownika konkretnej daty(dzien, miesiac, rok) system wyrzucil mi najblizsza date, ktora znajduje sie u niego w systemie, ale nie pozniejsza. Zestaw dat znajduje sie w pliku. Jak to zrobic, jakis pomysl? Jak porownac, a potem przeszukac, moze jest gdzies juz taki kod tutaj?
0
0
Co to znaczy "datę, która znajduje się u niego w systemie"? Data z zegarka, data modyfikacji, utworzenia lub dostępu do jakiegoś pliku czy data instalacji systemu? :)
Spróbuj wyjaśnić lepiej o co chodzi.
0
laztar napisał(a)
Zestaw dat znajduje sie w pliku.
a w jakim formacie?
0
Zakładam, że daty umiesz odczytać.
ArrayList<GregorianCalendar> daty=new ArrayList<GregorianCalendar>();
// pętla odczytująca z poniższym kodem
daty.add(new GregorianCalendar(year,month,day));
//posortowanie
Collections.sort(daty);
//data do znalezienia
GregorianCalendar gc=new GregorianCalendar(2003,11,25);
//szukanie
int index=Collections.binarySearch(daty,gc);
jeśli index jest >=0, to data została znaleziona
jeśli jest ujemny, np. -4, to szukana data winna być na pozycji 3, zatem największa data wcześniejsza niż gc, to daty.get(2).
0
Wedlug mnie zamiast ArrayList lepiej zastosować Vector.
0
Na pewno nie :-P
0
Zgadzam się , Vector to poracha !!!