0
public static void main(String[] args) {

Scanner input = new Scanner(System.in);
System.out.println("Enter expression: ");
String exp = input.nextLine().trim();

ExpressionTree exptree = new ExpressionTree1(); //new instance of ExpressionTree
TreeNode root = new TreeNode();
root = exptree.parseOutsideExpression(exp);
int evaluate = exptree.Compute(root);
String answer = Integer.toString(evaluate);
System.out.println("The evaluated expression is:" + answer);

}

class ExpressionTree{

我看过几个例子,我注意到一个常见的答案是在我已经完成的 main() 中创建你的对象的一个​​新实例,但我仍然得到同样的错误,我不清楚为什么。

4

1 回答 1

0

如果ExpressionTree是与方法相同的类的内部类,main()则问题可能在于它不是静态的。非静态内部类只能在非静态代码中实例化......见:

Java内部类和静态嵌套类

于 2013-04-17T10:35:14.237 回答