0

Я делаю некоторые hw и в настоящее время в тупике. Он дает интерфейс и класс для ArrayStack и просит написать код, который преобразует infix в postfix. В моей основной метод эта линияошибка: нестатический метод PostFixConverter (String) нельзя ссылаться из статического контекста

PostFixConverter(infixExpression); 

, который вызывает к способу, который вычисляет выражение постфикса. Моя проблема в том, что класс ArrayStack не является статическим, но мой основной метод, так как я могу это решить?

Кроме того,

Am I преобразования инфикса в постфикса неправильно, не делая новый класс, который вычисляет суффикс, потому что все другой код, который я видел, что делает это имеет отдельный класс для этого? Есть ли преимущество в этом?

Спасибо!

+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

изменен метод на частный статический void PostFixConverter (String infixExpression) { и теперь он компилируется! Спасибо! Однако возникли новые проблемы. – EmsandEms

+0

, пожалуйста, поделитесь этой проблемой. – sAm

+0

Моя программа должна читать из файла с инфиксными выражениями, распечатывать их, конвертировать в постфикс и распечатывать. Пример вывода: выражение Infix = ((9/3) -2) Postfix expression = 93/2- Чтение файла хорошее. Однако, когда я запускаю свою программу, он выводит выражение infix и просто продолжает работать. Больше ничего не происходит. Помогло бы мне в этом вопрос? – EmsandEms

0

создать объект вашего класса в основной метод, как следующий и вызвать нон статический (метод экземпляра)

ArrayStack arrayStack = new ArrayStack();           
arrayStack.postFixConverter(infixExpression);