Sumar los dígitos de un número. Cómo separar los dígitos de un número.

El siguiente programa pide al usuario que introduzca por teclado un número para posteriormente realizar la suma de esos dígitos. Por ejemplo, si se introduce el número 423 la suma sería 9, (4+2+3).


Código Java:

import java.util.Scanner;

class SumarDigitos {

    public static void main(String[] args) {

        Scanner miScanner = new Scanner(System.in);

        int numero;

        int resultado = 0;

       

        System.out.print("Introduce un número para sumar sus dígitos: ");

        numero = miScanner.nextInt();

       

        while(numero > 0) {

            resultado += numero % 10;

            numero = numero / 10;

        }

        System.out.println("La suma es: " + resultado);

    }

}


No tiene ninguna complicación para entender el código. Lo que hay que entender es cómo funciona el bucle while. Lo que hace este bucle es que mientras que el número sea mayor que 0, se van llevando a cabo las siguientes operaciones:

  • La variable resultado pasa a valer el resultado de sumar el valor de resultado al resultado de sacar el residuo del número entre 10 (con esta operación, por ejemplo, si tenemos 456 al aplicar el residuo entre 10 el resto valdrá 6 que es el último dígito del número)
  • Después el número se divide entre 10 para repetir el proceso en el bucle y dividir todos los dígitos mientras se almacena el valor en la variable resultado
Espero que os sirva el código y, si tenéis alguna duda dejar un comentario.

4 comentarios:

  1. muy buena aportación, y si quisiera hacer lo mismo pero con 5 o + números, ejemplo 456, 258, 9865, 25874. como seria el bucle?

    ResponderEliminar
    Respuestas
    1. parse a string, haces charAt, y vuelves a parsear a Int haciendo que se sume

      Eliminar
  2. aca tenes la respuesta: https://i.ytimg.com/vi/xRB2_HvAQzA/sddefault.jpg

    ResponderEliminar

Privacy Policy for Broma Detector de Mentiras con Huella

Privacy Policy Privacy Policy Broma detector de mentiras con huella app as ...