Метод 1: использование оператора по модулю и деления
public static int sumOfDigits(int number) {
int sum = 0;
while (number != 0) {
sum += number % 10;
number /= 10;
}
return sum;
}
Метод 2: использование преобразования строк
public static int sumOfDigits(int number) {
String numString = String.valueOf(number);
int sum = 0;
for (int i = 0; i < numString.length(); i++) {
sum += Character.getNumericValue(numString.charAt(i));
}
return sum;
}
Метод 3: использование рекурсивной функции
public static int sumOfDigits(int number) {
if (number == 0) {
return 0;
}
return (number % 10) + sumOfDigits(number / 10);
}
Метод 4: использование Stream API (Java 8 и более поздних версий)
import java.util.stream.IntStream;
public static int sumOfDigits(int number) {
return String.valueOf(number)
.chars()
.map(Character::getNumericValue)
.sum();
}