2014-10-22 72 views
-1

爲什麼這小小的一段代碼是給錯誤類型的非法啓動在6號線10(for循環)....我無法找到任何不匹配的括號...錯誤:類型的非法啓動

class StackDemo{ 
    final int size = 10; 
    Stack s = new Stack(size); 

    //Push charecters into the stack 
    for(int i=0; i<size; i++){ 
     s.push((char)'A'+i); 
    } 
    //pop the stack untill its empty 
    for(int i=0; i<size; i++){ 
     System.out.println("Pooped element "+i+" is "+ s.pop()); 
    } 
} 

我已經實現了Stack類,

+8

Offtopic,但你應該檢查彈出和混淆之間的區別。大聲笑。 – zubergu 2014-10-22 07:23:53

+0

我可以刪除我自己的問題嗎?我犯這個錯誤的數量太多了...... ugghhhhhhhh – rick112358 2014-10-22 07:34:35

+2

@ m.souvik你不能。因爲這裏有答案。下次再急着問一個問題。請花點時間自行解決問題。 – 2014-10-22 07:48:54

回答

5

不能使用類級別for循環。把它們放在methodblock

java.util.StackJava沒有這樣的構造函數。

應該

Stack s = new Stack() 

另一個問題

s.push(char('A'+i))// you will get Unexpected Token error here 

只是將其更改爲

s.push('A'+i); 
2

不能爲一類體內循環使用,你需要把它們某種方法。

class StackDemo{ 
final int size = 10; 
Stack s = new Stack(size); 
public void run(){ 
    //Push charecters into the stack 
    for(int i=0; i<size; i++){ 
     s.push(char('A'+i)); 
    } 
    //pop the stack untill its empty 
    for(int i=0; i<size; i++){ 
     System.out.println("Pooped element "+i+" is "+ s.pop()); 
    } 
    } 
} 
1

你不能只是寫代碼在一個類中,你需要的是一個方法:

class StackDemo{ 
    static final int size = 10; 
    static Stack s = new Stack(size); 

    public static void main(String[] args) { 
     //Push charecters into the stack 
     for(int i=0; i<size; i++){ 
      s.push(char('A'+i)); 
     } 
     //pop the stack untill its empty 
     for(int i=0; i<size; i++){ 
      System.out.println("Pooped element "+i+" is "+ s.pop()); 
     } 
    } 
} 

方法main是一個Java應用程序的入口點。 JVM將在程序啓動時調用該方法。請注意,我已將代碼字static添加到您的變量中,因此它們可以直接用於靜態方法main

相關問題