Leonid Kharin
через регулярные выражения ?
В текущем коде, калькулятор сам отвечает за ввод, это не очень хорошо. Лучше бы, чтобы он только считал бы, а числа или строку ему бы передали. Проверять символы можно не сразу а в порядке вычислений.
Далее посмотрите на Set, это более удобный способ проверить, операцию среди нужных.
После например попробуйте поменять ввод с клавиатуры на ввод с файла. После усложните операции до последовательных типа 6+7+2, тут уже потребуется обратная польская запись и вцелом другой подход совершенно.
После можно добавить приоритет операция и скобки, будет считать уже такие (5+6*7)/2