Я сделал это! Теперь это работает, и я бы не справился без вас, ребята.
Тем не мение! Забавно, что вы все предлагали варианты для меня, но не (на мой взгляд) окончательный вариант. Вы, ребята, сказали мне, что целое число, которое хранилось, - это код ASCII для 3, а не фактическое целое число 3. Это напомнило мне метод в классе Character, getNumericValue (char). С помощью этого метода я просто извлек целое число 3 из массива char, не конвертируя себя.
nextNumber = nextNumber * 10 + Character.getNumericValue(expression[k]);
Спасибо @howard за редактирование ссылки на загруженное изображение