2013-12-20 63 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只是想知道:这是否解决了您的问题,还是有其他的东西? –