2012-03-15 72 views
-1

如何修復此聲明?無效FormalParameterList,令牌上的語法錯誤「。」,{預計在此令牌之後

System.out.printf(" 1  | %d  | %d | %d\n" , 
        Simulator.simulate(2, 1, 0.71, 15, 1200), 
        Simulator.simulate(5, 1, 0.71, 15, 1200), 
        Simulator.simulate(10, 1, 0.71, 15, 1200)  
       ); 

Syntax error on token ".", { expected after this token [. in Simulator.simulate] 

Syntax error on token "" 1  | %d  | %d | %d\n"", invalid FormalParameterList 
+1

編譯時錯誤?這個原因可能在這個陳述之外。也許你在某個地方錯過了一個'{'或'}'。 – 2012-03-15 18:36:44

+0

你在其他地方有一個語法錯誤,因爲這是你如何調用'printf()' – 2012-03-15 18:39:01

+0

仔細檢查該語句是(1)在方法內,(2)在構造函數內或(3) )在一個靜態初始化器中。類似的錯誤表明某些語句是在一種方法之外編寫的... – 2012-03-15 18:42:30

回答

0

以下代碼創建完全相同的誤差(和更多一些)

public class Analyzer { 
    System.out.printf(" 1  | %d  | %d | %d\n" , 
       Simulator.simulate(2, 1, 0.71, 15, 1200), 
       Simulator.simulate(5, 1, 0.71, 15, 1200), 
       Simulator.simulate(10, 1, 0.71, 15, 1200)  
      ); 
} 

方法調用System.out.printf不允許在類體內。將其移動到方法,構造函數或靜態初始化程序中:

public class Analyzer { 
    static { 
    System.out.printf(" 1  | %d  | %d | %d\n" , 
       Simulator.simulate(2, 1, 0.71, 15, 1200), 
       Simulator.simulate(5, 1, 0.71, 15, 1200), 
       Simulator.simulate(10, 1, 0.71, 15, 1200)  
      ); 
    } 
} 
相關問題