0

我正在做一些hw,目前难住。 它为ArrayStack提供了一个接口和一个类,并要求编写一个将中缀转换为后缀的代码。 以我主要方法是这条线错误:非静态方法PostFixConverter(字符串)不能从静态上下文中引用

PostFixConverter(infixExpression); 

其调用其计算后缀表达式的方法。 我的问题是,ArrayStack类不是静态的,但我的主要方法是,所以我该如何解决这个问题?

此外,

我是否转换缀以后缀错了赚不到,因为所有其他代码我已经看到了这是否有其单独的一类,计算后缀一个新的类?这样做是否有优势?

谢谢!

+1

要么使该方法为静态或创建类的实例,然后调用该方法。 –

回答

0

对于第一个查询是指以下:

public static void main (String[] args) 
{ 
    String infixExpression = "Your infix string"; 
    PostFixConverter(infixExpression); 
} 

private static void PostFixConverter(String infixExpression) 
{ 
    //your code goes here 
} 

对于第二个查询,这是你的选择这样做。

+0

改为 private static void PostFixConverter(String infixExpression){ 现在编译!谢谢!然而,新问题已经出现。 – EmsandEms

+0

请分享此问题。 – sAm

+0

我的程序是从一个文件中读取含有中缀表达式的文件,将它们打印出来,转换为后缀并打印出来。输出示例:中缀表达式=((9/3)-2) 后缀表达式= 93/2-文件读数良好。但是,当我运行我的程序时,它会打印出中缀表达式并继续运行。没有其他事情发生它会对我有所帮助吗? – EmsandEms

0

在main方法类似以下内容来创建你的类的对象,并调用非静态(实例方法)

ArrayStack arrayStack = new ArrayStack();           
arrayStack.postFixConverter(infixExpression); 
相关问题