Работа с цифрами числа
Как получить цифры числа
У целого положительного числа последнюю цифру удобно получать остатком от деления на 10, а затем удалять эту цифру целочисленным делением на 10. Повторяя эти две операции, можно обработать число целиком.
int number = 5382;
while (number > 0) {
int digit = number % 10;
System.out.println(digit);
number /= 10;
}
Цифры выводятся справа налево: 2,
8, 3,
5. Это естественный порядок для такого способа разбора числа,
потому что операция % 10 всегда берёт последнюю цифру.
На цифрах можно строить обычные алгоритмы
После извлечения очередной цифры с ней можно делать то же, что и с элементом массива: считать подходящие цифры, находить среди них максимум, складывать их или проверять условие. Например, сумма цифр считается так:
int number = 5382;
int sum = 0;
while (number > 0) {
sum += number % 10;
number /= 10;
}
В итоге sum будет равна 18.
Здесь снова работает уже знакомая схема: получить очередной элемент,
обновить состояние алгоритма и перейти к следующему.
Особый случай — число 0
Для положительных чисел условие while (number > 0) удобно,
но для самого числа 0 цикл не выполнится ни разу.
Если по смыслу задачи нужно обработать его единственную цифру 0,
этот случай следует учесть отдельно.
number постепенно уменьшается до нуля.
Если исходное значение понадобится после цикла, сначала сохрани его в отдельной переменной
или разбирай копию.