У меня есть строка, и я разбиваю эту строку на токены, а затем я конвертирую маркеры в biginteger для дальнейшей обработки. Я получаю ошибку java.lang.NumberFormatExceptionBigInteger - ошибка java.lang.NumberFormatException?
здесь фрагмент кода
public void tokenize() {
StringTokenizer st = new StringTokenizer(expr);
while (st.hasMoreElements()) {
String val = st.nextElement().toString();
if (isOperator(val)) {
operator.push(val);
}
else {
BigInteger op = new BigInteger(val);
operand.push(op);
}
}
}
Формат выражения как этот
4 + 5 + 6/2 - 8 * 1 * 2
и это выражение становится лексемы, что приводит к операнде и оператор
Возможно, дайте нам свой expr, и вы используете как оператор, так и операнд, что это? –
Как выглядит val, например? – hbsrud
post isOperator() метод реализации –