Lista zadań na zajęcia, semestr letni 2013/2014, zestaw IX Metody
Transkrypt
Lista zadań na zajęcia, semestr letni 2013/2014, zestaw IX Metody
Lista zadań na zajęcia, semestr letni 2013/2014, zestaw IX Metody abstrakcyjne, tablice Przemysław Krysztowiak, [email protected] Zadanie 1. Napisz abstrakcyjną klasę o nazwie TablicaSortujaca, która zawiera: a) chronioną tablicę int-ów o nazwie dane, b) chronione: stałą o nazwie RozmiarM równą 1000 oraz zmienną o nazwie Rozmiar (obie typu int), c) publiczny konstruktor bezargumentowy, który ustawia zmienną Rozmiar na zero oraz przydziela pamięć dla tablicy dane (RozmiarM elementów). Klasa ta będzie służyła do sortowania przechowywanych liczb. Zadanie 2. Do klasy TablicaSortujaca dodaj publiczną, finalną metodę o nazwie DodajElement, która wpisuje przekazaną liczbę do tablicy dane na pozycji Rozmiar oraz zwiększa Rozmiar o 1. (a) Jeśli w tablicy jest już RozmiarM liczb, to zamiast dodawać nową liczbę, należy wyrzucić wyjątek. Zadanie 3. Do klasy TablicaSortujaca dodaj publiczny konstruktor, który jako argumenty przyjmuje dowolnie dużo int-ów. Każdy z nich należy dodać do tablicy dane metodą DodajElement. (a) Konstruktor ten powinien najpierw wywołać konstruktor bezargumentowy, żeby zainicjalizować pamięć. Zadanie 4. Do klasy TablicaSortujaca dodaj publiczny konstruktor kopiujący, który najpierw wywołuje konstruktor bezargumentowy, a następnie kopiuje wartość zmiennej Rozmiar oraz całą tablicę liczb (używając Arrays.copyOf). Zadanie 5. W klasie TablicaSortujaca zaimplementuj metodę toString() tak, by zwracała wszystkie liczby z tablicy dane, oddzielone spacjami. Zadanie 6. Do klasy TablicaSortujaca dodaj publiczną, abstrakcyjną metodę o nazwie Posortuj, bezargumentową. Zadanie 7. Napisz podklasę klasy TablicaSortujaca o nazwie TablicaSortujacaDomyslna, ktora: (a) w publicznych konstruktorach (z takimi samymi argumentami, jak nadklasa) wywołuje odpowiednie konstruktory nadklasy, (b) zawiera implementację metody Posortuj, działającą w oparciu o metodę Arrays.sort. Zadanie 8. Napisz podklasę klasy TablicaSortujaca o nazwie TablicaSortujacaPrzezWybieranie, która: (a) w publicznych konstruktorach (z takimi samymi argumentami, jak nadklasa) wywołuje odpowiednie konstruktory nadklasy, (b) zawiera implementację metody Posortuj, z użyciem algorytmu sortowania przez wybieranie (uwaga, pseudokod numeruje elementy od 1 do n, a my od 0 do Rozmiar-1). SelectionSort(A) for j := 1 to n - 1 smallest := j; for i := j + 1 to n if A[i] < A[smallest] then smallest := i; zamień A[j] z A[smallest]; Wyrażam zgodę na drukowanie przez studentów i pracowników WMiI UMK treści zawartej w niniejszym pliku.