tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
698
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    bRainLaG bRainLaG ist offline Mitglied Silber
    Registriert seit
    Nov 2009
    Beiträge
    90
    Ich baue grade eine LinkedList

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
     
    package textprocessing;
     
    import textprocessing.Queue.EmptyQueueException;
     
    /**
     *
     * @author ich
     */
    public class LinkedList<Item> implements Queue<Item> {
     
        private Node head;
        protected int size;
     
        public LinkedList(){
            head = null;
            size = 0;
        }
     
        protected class Node{
            Item item;
            Node next;
     
            Node(Item item, Node next){
                this.item = item;
                this.next = next;
            }
        }
     
        public int size() {
            return size;
        }
     
        public boolean isEmpty() {
            return size == 0;
        }
     
        public void enqueue(Item item) {
            if (head == null){
                head = new Node(item, head.next);
            }
            else{
                head.next = new Node(item,head.next);
                size++;
            }
        }
     
        public Item dequeue() throws EmptyQueueException {
            if (isEmpty()){throw new EmptyQueueException(); }
            Node item = head;
            head = head.next;
            head.next = head.next.next;
            return item.item;
        }
        public static void main(String[] args) {
            LinkedList<String> list = new LinkedList<String>();
            list.enqueue("Bier");
            list.enqueue("Alkohol");
            list.enqueue("Schnaps");
            list.enqueue("Jaegermeister");
            list.dequeue();
            System.out.print(list);
        }
    }

    Bei meiner enqueue Funktion bekomme ich eine Nullpointer Exception scheinbar da mein head.next auf einen null Wert linkt, ich hab allerdings keine Ahnung wie ich das ändern kann, hat da jemand nen Tipp für mich?
     

  2. #2
    SE Tutorials.de Gastzugang
    Also das sieht man schon ohne es zu Compilen ..

    Code java:
    1
    2
    
    if(head==null)
    head=new Node(item, head.next)

    Wenn "head" NULL ist ... warum versuchst du dann "head.next" zu callen ? Dass das schief geht sollte eigentlich klar sein.

    btw :
    1) Bitte verwende in Zukunft Java-Tags *siehe Signatur*
    2) Poste bitte nächste mal den komplett StackTrace *auch wenn das hier jetzt nicht nötig war weil man es wie gesagt schon im Source lesen kann das da was nicht hinkommt.
     

  3. #3
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.490
    Hi

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    public void enqueue(Item item) {
        if (head == null) {
            head = new Node(item, null);
            size = 1;
        }
        else {
            head = new Node(item, head);
            size++;
        }
    }

    dequeue ist auch irgendwie seltsam...

    Gruß
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  4. #4
    SE Tutorials.de Gastzugang
    Was ich grade nicht verstehe : warum baust du dir eine eigene LinkedList und verwendest nicht einfach java.util.LinkedList<E> ?
    Als Lernziel um zu verstehen wie sowas funktioniert stell ich mir das ja noch halbwegs sinnvoll vor ... aber produktiv würde ich dann doch lieber das vorhandene nehmen.
     

Ähnliche Themen

  1. [c++] linked lists
    Von aldur im Forum C/C++
    Antworten: 0
    Letzter Beitrag: 17.06.10, 08:59
  2. Linked LinkedList
    Von thomy800 im Forum Java
    Antworten: 3
    Letzter Beitrag: 23.11.07, 18:09
  3. corrupted double-linked list : 0x....
    Von maniacquaker im Forum C/C++
    Antworten: 7
    Letzter Beitrag: 30.01.07, 19:14
  4. Suche in einer Linked List
    Von FireFlow im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 27.04.05, 15:38
  5. linked list
    Von Lemiras im Forum C/C++
    Antworten: 5
    Letzter Beitrag: 15.04.05, 13:20