Buscar este blog

Translate

thumbnail

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







Subscribe by Email

Follow Updates Articles from This Blog via Email

No Comments

Sponsor

Popular Posts

Con la tecnología de Blogger.