Witam ponownie. Mam klasę Tablica, której kawałek kodu wygląda tak:
public class Tablica
{
//Pola prywatne
private int [] tablica = new int[100]; //tablica pamietajaca do 100 liczb calkowitych
private int liczbaElementow = 0; //liczba aktualnie pamietanych elementow
//Konstruktory
public Tablica(int[] tablica) //konstruktor przyjmujacy tablice liczb calkowitych
{liczbaElementow=0;}
public Tablica(Tablica tablica) //konstruktor przyjmujacy obiekt tablica typu Tablica
{liczbaElementow=0;}
(...)
}
Ogólnie posiada ona:
a. Dwa pola prywatne – tablicę oraz liczbę aktualnie zapisanych w niej elementów.
b. Konstruktory:
-przyjmujący tablicę liczb całkowitych
-przyjmujący obiekt typu Tablica
c. Metody pobierzTablice(), pobierzLiczbeElementów() zwracające odpowiednie
d. Metodę dodaj(int x) dodającą element na koniec tablicy
e. Metodę dodajNaK(int x, int k) dodającą element na pozycję k w tablicy
f. Metodę usun() usuwającą ostatni element tablicy
g. Metodę usunZK(int k) usuwającą element z pozycji k w tablicy
h. Metodę suma() sumującą wartości elementów tablicy
i. Metodę maksymalnyEl() znajdującą wartość maksymalna w tablicy
j. Metodę czyJestX(int x, int k) sprawdzającą czy podana wartość x występuje na którejś z k początkowych pozycji tablicy
k. Metodę roznowartosciowa() sprawdzającą czy tablica jest różnowartościowa
l. Metodę tworzenieRoznowartosciowej() która eliminuje wszystkie powtórzenia elementów tablicy
m. Metodę sortuj() która uporządkuje rosnąco elementy tablicy (wykorzystaj dowolny algorytm sortowania)
n. Metodę toString() wyświetlającą tablicę na konsoli
i teraz mam takie polecenie (a raczej jego część):
- Zdefiniuj klasę TablicaUporządkowana (rosnąco). Klasa zawiera:
a. Dwa pola prywatne – tablicę oraz liczbę aktualnie zapisanych w niej elementów.
b. Konstruktory
- przyjmujący tablicę liczb całkowitych
- przyjmujący obiekt typu Tablica
- przyjmujący obiekt typu TablicaUporządkowana
Jak zdefiniować taką klasę (te pola prywatne + konstruktory)? Pole prywate dot. liczby aktualnie zapisanych elementów to nie problem, gorzej z resztą. Domyślam się, że muszę się w niej odwołać jakoś do klasy Tablica, żeby napisać konstruktor przyjmujący obiekt typu Tablica. No i domyślam się, że muszę wykorzystać metodę sortuj() z klasy Tablica do posortowania obiektu tablica typu Tablica, żeby posortować tamtą tablicę, a potem przypisać ją temu obiektowi typu TablicaUporządkowana (załóżmy, że to będzie np. tablica2). Jednak znów pytanie - jak wywołać tamtą metodę sortuj() z klasy Tablica z poziomu klasy TablicaUporządkowana, a następnie jak przypisać obiektowi tablica2 obiekt tablica?
Dzięki z góry za pomoc