После просмотра кода ваша проблема выглядит следующим образом: current % 10
. Операция по модулю дает остаток от деления на десять. В случае ввода 120, результатом этой операции будет 0.
После остальных логи вашего приложения c ваша итерационная переменная будет установлена в ноль, немедленно заканчивая ваш l oop .
Я не дам вам код копирования-вставки, чтобы решить эту проблему, так как это похоже на назначение курса программирования. Однако я помогу вам решить ее.
Мое предлагаемое исправление состоит в том, чтобы изменить ваш подход к этой проблеме и не пытаться решить ее математическим путем, а скорее так, чтобы использовать преимущества языка программирования Java , Вы можете изменить свой ввод с Integer на String. В этом случае вы можете использовать String.length (), чтобы обеспечить выполнение вашего требования при выходе из l oop. В вашем l oop вы разбиваете строку на подстроки длины 1. Затем вы просто умножаете их.
Когда выйдет l oop (поскольку длина строки не больше 1), вы будете получить желаемый результат.
Удачи!