Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 错误:无法从静态上下文引用非静态方法PostFixConverter(字符串)_Java_Static Methods_Non Static - Fatal编程技术网

Java 错误:无法从静态上下文引用非静态方法PostFixConverter(字符串)

Java 错误:无法从静态上下文引用非静态方法PostFixConverter(字符串),java,static-methods,non-static,Java,Static Methods,Non Static,我正在做一些硬件工作,目前正被难倒。 它为ArrayStack提供了一个接口和一个类,并要求编写一个将中缀转换为后缀的代码。 在我的主要方法是这一行 PostFixConverter(infixExpression); 它调用计算后缀表达式的方法。 我的问题是ArrayStack类不是静态的,但我的主要方法是静态的,所以如何解决这个问题 而且 我把中缀转换成后缀是错误的,因为我看到的所有其他代码都有一个单独的类来计算后缀,所以我没有创建一个新的类来计算后缀吗?这样做有好处吗 谢谢大家! 在

我正在做一些硬件工作,目前正被难倒。 它为ArrayStack提供了一个接口和一个类,并要求编写一个将中缀转换为后缀的代码。 在我的主要方法是这一行

PostFixConverter(infixExpression);  
它调用计算后缀表达式的方法。 我的问题是ArrayStack类不是静态的,但我的主要方法是静态的,所以如何解决这个问题

而且

我把中缀转换成后缀是错误的,因为我看到的所有其他代码都有一个单独的类来计算后缀,所以我没有创建一个新的类来计算后缀吗?这样做有好处吗


谢谢大家!

在如下主方法中创建类的对象,并调用非静态(实例方法)


有关第一个查询,请参阅以下内容:

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

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

对于第二个查询,您可以选择这样做。

将方法设为静态或创建类的实例,然后将method.changed方法调用到私有静态void postfix转换器(字符串infixExpression){现在可以编译了!谢谢!但是出现了新的问题。请分享这个问题。我的程序应该从包含中缀表达式的文件中读取,打印出来,转换为后缀并打印出来。输出示例:中缀表达式=((9/3)-2)Postfix expression=93/2-文件读取良好。但是,当我运行程序时,它会打印出中缀表达式并继续运行。没有其他情况发生。如果我对此提出问题,会有帮助吗?您可以使用代码段添加新问题。修复了runni通过在一些if中添加其他的来解决问题。如果我再次陷入困境,我会问。谢谢!
public static void main (String[] args)
{
    String infixExpression = "Your infix string";
    PostFixConverter(infixExpression);  
}

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