Я знаю, что есть много вопросов о разборе математических выражений.Я исследовал и изучил алгоритм преобразования строки инфикса в постфикс и использования строки постфикса для оценки значения выражения.
Но все найденные мной примеры касаются только случая, когда операндыВыражение содержит только один символ.Например "1 + 2".
Как вы поступите, если выражение "1 + 123"?Строка постфикса станет «1123+», поэтому она не может быть оценена.
Метод, который я думал, состоит в том, чтобы прочитать каждый символ операнда из строки инфикса и временно сохранить их в tempStack,И когда оператор читается, преобразуйте операнд в tempStack в целое число, а затем вставьте его в массив постфиксов.
Но тогда возникает проблема, мои операнды будут целочисленными, но мои операторы будут символьными,Поэтому я не могу поместить их в один массив.
Пожалуйста, предложите мне правильный способ сделать это.Я знаю, что есть API для этой работы, но я хочу изучить это, чтобы укрепить свои знания.
Большое спасибо.