2011-10-28 10 views
0

これは宿題の問題ですが、実際には格付けされず、今後のプロジェクトで使用されるだけのものです。私は自分のリスト/ノードにあるものを表示することに問題があります。 主にdisplayListを呼び出すときにエラーが発生します。リンクされたリストJava

マージは、リスト1と2のすべての項目を含む新しいリストに結合します。

連合は一つだけそれぞれのリスト1から重複および2

を含む交点のみリスト1及び2からではなく、同じリストから重複を含みます。

注記形式のコードは、私が信じる現在のものの単なる代替形式です。

//Kevin Clement 
//Homework 2 

    class LinkedListHomework 
    { 
     public static ListNode Merge(ListNode List1, ListNode List2) 
     { 
     ListNode head, tail; 
     head = tail = new ListNode("Hi1"); 

     while(List1 != null && List2 != null) 
     { 
      if(List1.getItem().toString().compareTo(List2.getItem().toString()) < 0) 
      { 
       tail.setNext(new ListNode(List1.getItem())); 
       List1 = List1.getNext(); 
      } 
      else 
      { 
       tail.setNext(new ListNode(List2.getItem())); 
       List2 = List2.getNext(); 
      } 
      tail = tail.getNext(); 
     } 

     // while(List1 != null) 
     // { 
     // tail.setNext(new ListNode(List1.getItem())); 
     // tail = tail.getNext(); 
     // List1 = List1.getNext(); 
     // } 
     // 
     // while(List2 != null) 
     // { 
     // tail.setNext(new ListNode(List2.getItem())); 
     // tail = tail.getNext(); 
     // List2 = List2.getNext(); 
     // } 
     return head.getNext(); 


     } 




    // public static ListNode Union(ListNode List1, ListNode List2) 
    // { 
    // 
    // 
    // 
    // } 

    // // public static ListNode Intersection(ListNode List1, ListNode YList2) 
    // { 
    // 
    // } 

     public void displayList() 
     { 
     ListNode temp = head; 
     System.out.print("head"); 
     while(temp != null) 
     { 
      System.out.print("--> " + temp.getItem()); 
      temp = temp.getNext(); 
     } 
     System.out.print("\n\n"); 
     } 


     public static void main(String args[]) 
     { 

     ListNode A = new ListNode("Adam", new ListNode("Andrew", new ListNode("Kyle", new ListNode("Luc", new ListNode("Michael", new ListNode("Tony")))))); 
     ListNode B = new ListNode("Adam", new ListNode("Fallon", new ListNode("Jim", new ListNode("Kyle", new ListNode("Nina", new ListNode("Shea", new ListNode("Tony"))))))); 

     displayList(A); 
     A.displayList(); 




     } 

    } 

ここで私のエラーですが、私はそれらをコピーすると、何が間違っているのか説明しようとしているよりもあなたに役立つだろうと思っています。 headが宣言されていない。

LinkedListHomework.java:61: cannot find symbol 
symbol : variable head 
location: class LinkedListHomework 
     ListNode temp = head; 
         ^ 
LinkedListHomework.java:78: displayList() in LinkedListHomework cannot be applied to (ListNode) 
     displayList(A); 
     ^ 
LinkedListHomework.java:79: cannot find symbol 
symbol : method displayList() 
location: class ListNode 
      A.displayList(); 
      ^ 
3 errors 
+2

フォーマット、書式設定、書式設定。これは本当に払うものです(例えば、このコメントの後、私はあなたに傲慢さを見せないと...私の価値がないので、この質問を残しておきます;-) –

+0

@pstは何を言ったのですか?書式設定のガイドラインを無視したい場合は、助けを求める必要がないためには不十分です。 – ObscureRobot

+2

あなたの具体的な質問は何ですか、「私のためにやるの?」 – MeBigFatGuy

答えて

1

最初のエラーは、ラインListNode temp = head;です。

displayListを引数として呼び出しようとしているため、2番目のエラーが発生します。これは引数をとりません。また、静的メソッドではなく、オブジェクトに対して呼び出される必要があります。

displayListListNodeのオブジェクトにコールしていますが、displayListは実際にクラスLinkedListHomeworkに属しています。

+0

静的メソッドからインスタンス・メソッドをコールしようとしています。 –

+0

@DaveNewton - ありがとう、更新されました。 –

関連する問題