Zadanie 1 (max 7 pkt.)
W pliku binarnie zapisane są kody produktów (int) i ich ceny (double):
kod1 cena1 kod2 cena2 kod3 cena3....
Stworzyć program, który zapisuje taki plik binarny dla 100 tys. produktów
(ceny niech będą losowane z jakiegoś przedziału).
Następnie napisać program, który wczytuje plik, zwiększa cenę każdego
produktu o 10 % i zapisuje wynik z powrotem do tego samego pliku.
Dostarczyć trzech sposobów dzialania programu:
- na strumieniach binarnych,
- poprzez kanały plikowe bez mapowania pliku,
- poprzez kanał - z mapowaniem pliku.
Porównać czasy działania każdej z wersji w/w programu.
Zadanie 2 (max 3 pkt.)
W dialogach wejściowych (JOptionPane.showInputDialog(...)) podawane są:
- albo napisy,
- albo liczby rzeczywiste.
Po zakończeniu wprowadzania danych wypisać na konsoli po kolei wszystkie wprowadzone dane.
Liczba wprowadzanych danych jest dowolna, ale wprowadzanie kończy się:
- gdy użytkownik wprowadzi napis "sum" - wtedy dodatkowo wypisywana ma być suma wszystkich wprowadzonych liczb,
- gdy użytkownik wprowadzi napis "concat" - wtedy dodatkowo wypisywany
ma być łańcuch znakowy, stanowiący połączenie wszystkich (rozdzielonych spacją)
napisów,
- gdy użytkownik wprowadzi napis "both" - wtedy dodatkowo wypisywana jest i suma liczb i połączenie napisów,
- gdy użytkownik wcisnąl "Cancel" lub zamknął dialog - nie ma dodatkowego sumowania i łączenia napisów.
Uwaga: nie wolno niepotrzebnie sumować liczb ani łączyć napisów (przed
zakończeniem wprowadzania danych nie wiemy czy te operacje są potrzebne czy
nie).
Rozwiązanie: użycie kolekcji.
Zadanie 3 (max 3 pkt.)
Napisać program, który wczytuje plik tekstowy i zlicza wystąpienia w nim posczególnych słów.
Program ma być szybki i elegancki.
Zadanie 4 (max 9 pkt)
W pliku book.txt znajdują się opisy książek w postaci:
autor; tytuł; cena
np.
Gossling James; Java; 100
Wczytać dane z pliku i:
- wyprowadzić je do pliku out_names.txt posortowane wg autorów w porządku rosnącym,
- wyprowadzić je do pliku out_titles.txt posortowane wg tytułów w porządku rosnącym,
- wyprowadzić je do pliku out_prices.txt posortowane wg cen w porządku malejącym,
- zapewnić uzyskiwanie informacji (w dialogu messageDialog) o książkach
autora, którego nazwisko i imię podamy w dialogu wejściowym (inputDialog),
przy czym po zapisie plików wyjściowych - wyszukiwanie książek "po
autorach" ma być kontynuowane dopóki w dialogu wejściowym (pytającym
o autora) użytkownik nie wciśnie "Cancel"
Program ma być efektywny i zapewniać zarówno szybkie sortowanie jak i wyszukiwanie książek po autorach.