Нахождение суммы цифр числа

Рейтинг: 0Ответов: 1Опубликовано: 25.03.2015

Задача состоит в том, чтобы найти сумму цифр числа, не используя конвертацию в String.

    public class SumOfDigits {
    public static void main(String[] args){
        int d = 1776;// число взято от фонаря, в задаче надо считать некоторое количество чисел из файла, но это выходит за рамки моего вопроса, число может быть любого размера
        int e = 0;
        while (d > 0){
            e = e + (d % 10);
            d = (d - e) / 10;
        }

        System.out.print(e);

    }
}

Этот код почему-то выдает результат на 2 меньше ожидаемого. Я сначала думал, что не выполняется первая итерация цикла, но, попробовав поставить другое число, получил ожидаемый результат -2. В чем я напортачил?

Ответы

▲ 5Принят

Тело цикла:

e += d % 10;
d /= 10;