Я работал над оценщиком выражений в Java, и из-за разочарования я также пришел сюда, чтобы спросить об этом. Я переписал его по крайней мере 15 раз и каждый безрезультатно.
В основном мне нужно взять строку в префиксе, инфиксе или постфиксе и преобразовать ее в целое число. Выражение может использовать любые арифметические операторы, включенные в Java.
Проблемы, которые у меня возникают:
- Когда я пытаюсь разобрать дерево выражений или разобрать их все в постфикс, у меня возникают проблемы с мономиальными операторами.
- Я не могу заставить его идентифицировать многозначное число как одно число, и впоследствии оно разрушает все дерево или переключается вокруг цифр.
- Я не могу заставить программу выяснить, где правильно ставить скобки, и я не могу заставить ее идентифицировать начало и конец скобок, используя стек.
Так что в основном программа должна сделать это:
Для любых произвольных чисел A B C D E F
Оценка в префиксе: постфикс и инфикс:
A-- + ++ B - --C * D ++ / E% F
Для любых произвольных битов A B C D E F G и числа n
Оценка в префиксе, постфиксе и инфиксе:
A & B | C ^ ~ D
n >> A
n << A </p>
Мой учебник не сильно помогает, и книги, которые я заказал, я действительно не могу понять, как это сделать, помогите, даже просто объяснение того, как это сделать, было бы достаточно для меня. Спасибо за любую помощь: D