2016-11-22 104 views
-1

我在這裏是新的,認爲我會給這個鏡頭。我目前在使用鏈接列表的編譯器遇到問題。我不斷收到一條錯誤消息,說它需要它自己的文件?任何人都可以幫助我,我使用Eclipse霓虹燈編碼這個問題,在此先感謝這裏的代碼。錯誤消息「公共類型StackWithLinkedList必須在其自己的文件中定義」

class Node { 

    int value; 
    Node nextNode; 

    Node(int v, Node n) 

     { 
     value = v; 
     nextNode = n; 
     } 

    Node(int v) 

    { 
     this(v, null); 

    } 

} 


    class Stack 

{ 
     protected Node top; 

     Stack() 

      { 
       top = null; 
      } 


     boolean isEmpty() 

      { 
       return (top == null); 
      } 



     void push (int v) 

      { 
       Node tempPointer; 

       tempPointer = new Node(v); 

       tempPointer.nextNode = top; 

       top = tempPointer; 
      } 


     int pop() 

      { 
       int tempValue; 

       tempValue = top.value; 

       top = top.nextNode; 

       return tempValue; 

      } 



     void printStack() 

      { 
       Node aPointer = top; 

       String tempString = ""; 


       while(aPointer != null) 


        { 
         tempString = tempString + aPointer.value + "\n"; 

         aPointer = aPointer.nextNode; 
        } 

         System.out.println(tempString); 

      } 

} 


     public class StackWithLinkedList 

      { 
       public static void main(String[] args) 

        { 
         int popValue; 

         Stack myStack = new Stack(); 

         myStack.push(5); 
         myStack.push(7); 
         myStack.push(9); 

         myStack.printStack(); 

         popValue = myStack.pop(); 
         popValue = myStack.pop(); 

         myStack.printStack(); 

        } 

      } 
+1

您試圖在單個源文件中定義多個頂級類。這是不允許的,每個頂級類都必須在自己的文件中。 –

+0

我是否需要將它作爲界面來使用,我的老師並沒有太大的幫助,而且我一直在自我教導自己,但他使用jgrasp來編寫代碼而不是日食 –

回答

-1

您試圖在單個源文件中定義多個頂級類。這是不允許的,每個頂級類都必須在自己的文件中。如果要將所有內容放在一個文件中,則類必須嵌套,如

public class Test { 
    .... 
    public static class Node { 
     ... 
    } 
    public static class Stack { 
     ... 
    } 
    public static class StackWithLinkedList { 
     ... 
    } 
} 
相關問題