środa, 14 czerwca 2017

Tydzień 14: egzamin, strumienie

Ćwiczenia

Genom (egzamin z roku 2015/2016)

Laboratorium

  1. Napisz program, który wypisuje na ekran zawartość pliku tekstowego. Nazwę pliku do wypisania wczytaj ze standardowego wejścia za pomocą odpowiednich strumieni.
  2. Napisz program, który dla podanego pliku wypisze, z ilu bajtów składa się ten plik.
  3. Napisz program, który dla danego pliku tekstowego wypisze liczbę znaków oraz liczbę białych znaków w tym pliku.
  4. (a) Napisz program, który kopiuje znak po znaku pliki tekstowe.
    (b) Zmień program z poprzedniego punktu tak, aby czas kopiowania był mierzony i wypisywany na konsole. Sprawdź, jaki wpływ na efektywność ma użycie buforowania.
  5. Napisz program, który odwróci zawartość pliku tekstowego w nastepujący sposób:
    (a) Odwróci kolejność wierszy.
    (b) W każdym wierszu odwróci kolejność słów.
    (c) W nazwie pliku odwróci kolejność liter, pomijając ewentualne rozszerzenie .txt.
  6. Napisz Iterator<String>, w którym metoda next() zwraca kolejne linie wczytane z Readera. Konstruktor ma dostawać obiekt Readera. Po wczytaniu wszystkiego Reader ma zostać zamknięty. Zauważ, że Iterator nie może rzucać wyjątków IOException. Niech przechwyci taki wyjątek i pozwoli normalnie iterować po wszystkich poprawnie wczytanych liniach.
    Wskazówka: BufferedReader ma metodę readLine(); zwraca ona null, gdy napotka koniec pliku.
    Wskazówka 2: aby hasNext() działał poprawnie, trzeba zawsze mieć wczytana i spamiętaną jedną linie w przód. 

Inne egzaminy

System finansowy (egzamin z roku 2007/2008)
Żaba (egzamin z roku 2008/2009).
Egzamin z PO (egzamin z roku 2009/2010)
Klasyfikacja (egzamin z roku 2010/2011) 
Sprawdzanie egzaminu z PO (egzamin z roku 2011/2012)
Platforma eTam (egzamin z roku 2012/2013).
Wycieczka objazdowa (Egzamin z roku 2013/2014) 
Portal sprzedaży nieruchomości (egzamin z roku 2014/2015)