Sum the digits in an integer

The problem

Write a program that reads an integer between 0 and 1000 and adds all the digits in the integer. For example, if an integer is 932, the sum of all its digits is 14. Hint: Use the % operator to extract digits, and use the / operator to remove the extracted digit. For instance, 932 % 10 = 2 and 932 / 10 = 93.

Here is a sample run:

Enter a number between 0 and 1000: 999
The sum of the digits is 27

Breaking it down

This example will use java 8 though there are several ways to approach this problem. Storing in a string read from the user input we will initialize a stream by splitting the string on each character. Since the Stream is of type String we need to map values by using mapToInt. Finally calling the Stream.sum() will calculate the sum of the digits.

public static void main(String[] Strings) {

    Scanner input = new Scanner(System.in);

    System.out.print("Enter an integer between 0 and 1000: ");
    String number = input.next();
    input.close();

    int sum = Stream.of(number.split(""))
        .mapToInt(Integer::valueOf)
        .sum();

    System.out.println("The sum of all digits in " + number + " is " + sum);
}

Output

Enter an integer between 0 and 1000: 1000
The sum of all digits in 1000 is 1