Я успешно реализовал алгоритм маневровой станции на java. Сам алгоритм был прост, но у меня проблемы с токенизатором. В настоящее время алгоритм работает со всем, что я хочу, за исключением одного. Как определить разницу между вычитанием (-) и отрицанием (-)
, например, 4–3 - это вычитание но -4 + 3 отрицательно
Теперь я знаю, как узнать, когда оно должно быть отрицательным, а когда - отрицательным, но где в алгоритме он должен быть размещен, потому что, если вы используете его как функцию, он не будет всегда работает, например,
3 + 4 * 2 / - (1 - 5) ^ 2 ^ 3
когда 1-5 становится -4, оно станет 4, прежде чем оно будет возведено в квадрат и куб
точно так же, как 3 + 4 * 2 / cos (1-5) ^ 2 ^ 3, вы бы взяли косинус перед возведением в квадрат и кубом
, но в реальной математике вы бы этого не сделали с - потому что то, что вы на самом деле говорите, 3 + 4 * 2 / - ((1 - 5) ^ 2 ^ 3) для получения правильного значения