2016-07-08 4 views
-6

Also meine Add-Methode sollte das Tag nehmen und es an das Ende der Warteschlange hinzufügen. Meine Notizen sagen, dass ich dies zu meiner Warteschlange zu tun haben First-Java LinkedLists und Queues- Validate meine Add-Methode

Queue<Integer> q = new LinkedList<Integer>(); 

Da Queue die Implementierung und LinkedList ist die Umsetzung. Habe ich das richtig gemacht? Und ist meine Add-Methode auch korrekt?

public class HtmlValidator { 
    private html tag; 
    private Node next; 
    private Node start; 

    public HtmlValidator() { 
     Queue<Integer> q = new LinkedList<Integer>(); 
    } 

    public void addTag(Html tag) { 
     Node newNode = new Node(tag); 
     if (tag == null) { 
      throws new IllegialArgumentException; 
     } 

     if (start == null) start = newNode; //if queue is empty 

     else { 
      Node x = start;//traveerse the list until x points to the last node    
      while (x.next != null) { 
       x = x.next; 
      } 
       //node is added to end of list 
       x.next = newNode; 
     } 
    }  
} 
+0

Was ist das Problem hier, was sind Ihre Code-Fehler? Ist was richtig? –

+1

Dieser Code wird nicht einmal _compile_, denn nirgends deklarieren Sie 'Node start'. Was traurig ist, weil die Logik meistens richtig aussieht. –

+0

Ich habe meine Klassendefinition geändert, stimmt das jetzt? – John

Antwort

1

Die Logik von add ist für die Verwendung in der Linked List-Implementierung korrekt. Für Node fehlt jedoch die Klassendefinition.

+0

Fehle ich die Definition für Knoten Start? Würde ich "private Node Start" in meiner Klassendefinition hinzufügen? – John

Verwandte Themen