2017-12-10 7 views
-4

LinkedList1を初期化することができません。エラーは「構文エラー、挿入」;「BlockStatementsを完了する」です。リンクリストを作成する他の方法がありますが、ダウン他人の前に。任意のヘルプは、私は非常に感謝してコーダになるだろう:)リンクリストが初期化されていません

import java.util.*; 

public class LinkedList1 { 

    private class Node 
    { 
     String value; 
     Node next; 

     Node(String val, Node n) 
     { 
      value=val; 
      next=n; 
     } 

     Node(String val) 
     { 
      this(val,null); 
     } 
    } 

    private Node first; 
    private Node last; 

    public LinkedList1() 
    { 
     first=null; 
     last=null; 
    } 

    public boolean isEmpty() 
    { 
     return first == null; 
    } 

    public int size() 
    { 
     int count=0; 
     Node p = first; 
     while(p!=null) 
     { 
      count++; 
      p=p.next; 
     } 
     return count; 
    } 

    public void add(String e) 
    { 
     if(isEmpty()) 
     { 
      first = new Node(e); 
      last = first; 
     } 
     else 
     { 
      last.next = new Node(e); 
      last = last.next; 
     } 
    } 
    public void add(int index, String e) 
    { 
     if(index<0 || index>size()) 
     { 
      String message = String.valueOf(index); 
      throw new IndexOutOfBoundsException(message); 
     } 
     if(index==0) 
     { 
      first=new Node(e, first); 
      if(last==null) 
      { 
       last=first; 
       return; 
      } 
      Node pred = first; 
      for(int k = 1; k<=index-1;k++) 
      { 
       pred=pred.next; 
      } 
      //splice in a node containging the new element 
      pred.next = new Node(e, pred.next); 
      //is theere a new last element? 
      if(pred.next.next==null) 
      { 
       last = pred.next; 
      } 
     } 
    } 

    public String toString() 
    { 
     StringBuilder strBuilder = new StringBuilder(); 
     //use p to walk down linked list 
     Node p = first; 
     while(p!=null) 
     { 
      strBuilder.append(p.value+ "\n"); 
      p=p.next; 
     } 
     return strBuilder.toString(); 
    } 

    public String remove(int index) 
    { 
     if(index<0||index>=size()) 
     { 
      String message = String.valueOf(index); 
      throw new IndexOutOfBoundsException(message); 
     } 
     String element;//element to return 
     if(index==0) 
     { 
      //removal of the first element 
      element = first.value; 
      first = first.next; 
      if(first==null) 
       last=null; 
     } 
     else 
     { 
      //to remove an element other than the first, find the pred of the element to be removed 
      Node pred = first; 
      //move pred forward index-1 times 
      for(int k = 1; k<=index-1;k++) 
       pred=pred.next; 
      //store the value to return 
      element = pred.next.value; 
      //Route link around the node to be removed 
      pred.next = pred.next.next; 
      //check if pred is now last 
      if(pred.next==null) 
       last=pred; 
     } 
     return element; 
    } 
    public boolean remove(String element) 
    { 
     if(isEmpty()) 
      return false; 

     if(element.equals(first.value)) 
     { 
      first = first.next; 
      if(first==null) 
       last=null; 
      return true; 
     } 
     //find the pred of the element to remove 
     Node pred = first; 
     while(pred.next!= null && !pred.next.value.equals(element)) 
     { 
      pred = pred.next; 
     } 

     //pred.next==null or pred.next.value is element 
     if(pred.next==null) 
      return false; 
     //pred.next.value is element 
     pred.next = pred.next.next; 
     //check if pred is now last 
     if(pred.next==null) 
      last=pred; 

     return true; 
    } 
    public static void main(String[] args) 
    { 
     LinkedList1 11 = new LinkedList1(); 
     11.add("Amy"); 
     11.add("Bob"); 
     11.add(0,"Al"); 
     11.add(2,"Beth"); 
     11.add(4,"Carol"); 
     System.out.println("The members of the list are: "); 
     System.out.println(11); 


    } 
} 
+1

初期化されていませんが、コンパイルされません.... – Antoniossss

+0

爽やかに試しましたか? – Taslim

+2

あなたのコードのどこにエラーが示されているか教えていただけたら助けになると思いますか?人々に助けを求める場合は、基本的な情報を提供することで簡単に助けてください。今のところ立たれているように、疑問は_ "ここには100行以上のコードがあります。どこかで構文エラーがあります。 –

答えて

1

を主な方法は無いの文字で変数名を持っている。TTに11を変更し、それが

0

変更 LinkedList1 11 = new LinkedList1(); に動作します〜 LinkedList 11 = new LinkedList();

関連する問題