Проблемы с алгоритмом маневрового двора

Я успешно реализовал алгоритм маневровой станции на 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) для получения правильного значения

6
задан CharlesB 4 May 2012 в 23:29
поделиться