2013-12-20 95 views
1

我不能工作了什麼是錯在Java下面的代碼:與令牌的語法未知錯誤

import java.util.*; 

public class stringCalculator { 
    String operator_array[] = {"+", "-", "/", "*", "(", ")"}; 
    Queue<Integer> outputQueue = new LinkedList<Integer>(); 
    Stack <Object> operatorStack = new Stack<Object>(); 
    Hashtable<String, String> operatorPrecedence = new Hashtable<String, String>(); 
    operatorPrecedence.put("+", "2"); 

我收到以下錯誤:在令牌

語法錯誤,刪除這些標記,這是相對於以下行:

operatorPrecedence.put("+", "2"); 

感謝所有幫助

+0

有超過一種編程語言 - 也許我們可以告訴你更多關於語法錯誤,如果你告訴我們關於你使用的編譯器(=語言)的一些信息...... – virtualnobi

+0

這是antlr代碼嗎? –

+0

這是所有的錯誤說? _哪些令牌?這段代碼看起來很好。我猜在代碼中有一個或者更早的東西,這只是第一個停下來讓編譯器有意義的地方。 –

回答

1

您不能直接在類中放置語句。

創建一個方法或構造函數,然後將調用put

public stringCalculator() { 
    operatorPrecedence.put("+", "2"); 
} 

而且,它是用一個大寫的名字爲類,如StringCalculator好的做法。

+0

@ user3120023只是想知道:這是否解決了您的問題,還是有其他的東西? –