Mini-Reto: Suma de Números en Java

Hola querido lector, hoy he visto un pequeño reto de la página de Nacho Cabanes, dicho reto proponía que escribieras un número, descomponerlo y sumar sus cifras, es un reto que abajo os pongo la fuente que de donde lo que sacado. Debo de decir que he usado este reto debido a que hoy no he tenido tiempo para ponerme con otro, aun así espero que os guste.

Se trata de implementar un programa que sume los dígitos de un número entero no negativo. Por ejemplo, la suma de los dígitos del 3433 es 13.
Para darle un poco más de emoción, el programa no se limitará a escribir el resultado de la suma, sino que también escribirá todos los sumandos utilizados: 3 + 4 + 3 + 3 = 13.
Entrada
La entrada consta de una serie de casos de prueba terminados con un número negativo. Cada caso de prueba es una simple línea con un número no negativo no mayor que 109 del que habrá que sumar todos sus dígitos.
Salida
Para cada caso de prueba se mostrará una línea en la que aparecerán cada uno de los dígitos separados por el signo +, tras lo cual aparecerá el símbolo = y la suma de todos los dígitos.
Ten en cuenta que antes y después de cada símbolo (+ y =) hay un espacio.
Nota: el programa no debe avisar al usuario con mensajes como «Introduzca un número». Debe leer directamente el número que introduzca el usuario y la respuesta debe ser exactamente como aparece aquí explicado y como se puede comprobar en el ejemplo. (Asegúrate de que has leído el resto de preguntas frecuentes antes de plantear tu solución)

Pues nada dicho esto, aquí os posteo mi solución:

    try{
        
        Scanner sca = new Scanner(System.in);
        String numeroIntermedio;
        int numero;
        int calculo=0;
        String intermedio=»»;
        
        numero =1256;
        numeroIntermedio=numero+»»;
        if (numero <=0){
            throw new Exception(«Debes de poner un número entero»);
        }
        for (int i=0;i<numeroIntermedio.length();i++){
            
            if (i==numeroIntermedio.length()-1){
             intermedio=intermedio+ numeroIntermedio.charAt(i)+ » = «;
            }else{
                intermedio=intermedio+ numeroIntermedio.charAt(i)+ » + «;   
            }
            calculo=calculo+Integer.parseInt(numeroIntermedio.charAt(i)+»»);
            
        }
        
        System.out.println( intermedio+calculo);
        }catch (Exception ex){
            System.out.println(«Error cod: «+ex.getMessage());
        }

Un saludo, espero que os haya gustado, si quieres más contenido como este sígueme en mi página de Facebook y mi Twitter, un saludo y hasta la próxima.

FUENTE
http://www.nachocabanes.com/retos/reto.php?n=024

Deja un comentario

Información básica sobre protección de datos Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

error: Content is protected !!

Descubre más desde InfoGonzalez - Blog de formador e informático

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo

Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad
Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.