Witam!
Mam za zadanie stworzyć bazę danych za pomocą listy jednokierunkowej, którą sam napiszę. Baza ma posiadać funkcję dodawania rekordów, wyszukiwanie, sortowanie (bez przechodzenia na etap przepisywania) i usuwanie pojedynczych wpisów (wyszukiwanie i sortowanie ma się odbywać z użyciem interfejsu Comparable). Mam problem z dwoma ostatnimi rzeczami. przy usuwaniu próbowałem zrobić tak, żeby dana wartość elementu listy była zmieniana na null, ale wyskakiwał mi NullPointerException. Potem myślałem, że może zmienić dany element następnym, a następny jeszcze następnym itd., ale chyba nie wiem jak to zrobić dobrze (tak, to jest ta ostatnia nieudolnie napisana metoda w klasie) :D Mógłby mnie ktoś nakierować jak to zrobić? Jeśli chodzi o sortowanie, to jedynym wyjściem jest Collections.sort?
Ale czego nie rozumiesz w usuwaniu?
Usuwajac 2 element zmieniasz wskaznik 1 elementu tak aby wskazywal na 3 i tyle.
Swr napisał(a):
Ale czego nie rozumiesz w usuwaniu?
Usuwajac 2 element zmieniasz wskaznik 1 elementu tak aby wskazywal na 3 i tyle.
tego jak to napisać xD bo rozumiem o co chodzi, ale nie potrafię usunąć całego obiektu, tylko obie zmienne, które ten obiekt przechowuje, ale jak to zrobię i wyświetlę listę, to pokazuje dalej ten wpis, tylko, że z wartościami "null" w obu miejscach
Nie wiem jakim cudem masz nulla skoro kod ktory wrzuciles sie w ogole nie kompiluje. Nie uzywasz zadnego IDE?
Swr napisał(a):
Nie wiem jakim cudem masz nulla skoro kod ktory wrzuciles sie w ogole nie kompiluje. Nie uzywasz zadnego IDE?
bo wrzuciłem tylko klasę z listą. mam jeszcze 3 klasy, ale one nie za wiele mają wspólnego z działaniem listy (no chyba, że poleceniaDoListy)
http://pastebin.com/ikRq2p6U
http://pastebin.com/YuqH6cKT
http://pastebin.com/0DNKycXD
chociaż nie wiem czy on się skompiluje, bo nie wiem w jakim stanie go zostawiłem xD
Tyle, ze bledy ma juz ta pierwsza klasa :> I to skladniowe nawet.
BTW. nazwy klas z duzej
jakie błędy masz na myśli? nie zauważam żadnych, poza metodami związanymi z usunięciem jednego rekordu (one są całkowicie źle, bo program się wyłącza jak ich używam)
będę pamiętał na drugi raz! :)
**szukajPoImionach **i **usunWpis ** sie nie kompiluja.
Swr napisał(a):
**szukajPoImionach **i **usunWpis ** sie nie kompiluja.
aaaa bo zmieniłem chyba chyba klasę listaDowodowOsobistych
wstyd mi teraz, przysięgam
http://pastebin.com/7jBDFHXx tak teraz wygląda u mnie ta klasa
Możesz używać angielskich nazw?
scibi92 napisał(a):
Możesz używać angielskich nazw?
tak
wyczuwam projekt do zaliczenia laborek ... :D
Krzywy Pomidor napisał(a):
wyczuwam projekt do zaliczenia laborek ... :D
tak xD myślę, że nie robię nic złego prosząc o pomoc, bo z tego co przegladałem, to niektórzy proszą o zrobienie wszystkiego za nich
Przecież to Java. Wystarczy że przeniesiesz wskaźnik na kolejny element a garbage collector sam usunie niepotrzebny wpis.
Z tego co widze to wyszukiwanie elementów tez jest do du.. bo program wyświetla tylko pierwszy wpis o odpowiednich danych... Ale sam nie wiem za dobrze jak to zrobić...
caer napisał(a):
Przecież to Java. Wystarczy że przeniesiesz wskaźnik na kolejny element a garbage collector sam usunie niepotrzebny wpis.
wiem, że zabrzmię jak laik, ale na prawdę nie wiem jak to zrobić
typ gada głupoty, w Javie nie ma wskaźników, są referencje
Zimny Kaczor napisał(a):
typ gada głupoty, w Javie nie ma wskaźników, są referencje
i tak nie wiem jak to zrobić xD
Ponętny Pączuś napisał(a):
Z tego co widze to wyszukiwanie elementów tez jest do du.. bo program wyświetla tylko pierwszy wpis o odpowiednich danych... Ale sam nie wiem za dobrze jak to zrobić...
To proste. Wystarczyło zmienić te metody tak, żeby niczego nie zwracały, dalej były rekurencyjne i wyświetlały każdy rekord, który ma takie samo nazwisko/imiona jak podane. Btw. dzięki, że to zauważyłeś xD