Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: lexoazul en 5 Febrero 2010, 23:57 PM

Título: Problema de recursividad
Publicado por: lexoazul en 5 Febrero 2010, 23:57 PM
Tengo una duda sobre este ejercicio:
public int sumarNumero(int n)
    {
       
        if(n==0)
        {
            System.out.println("No se puede Sumar:"+n);
            return n;
        }
        else
            System.out.println((sumarNumero(n / 10) + (n % 10)));
           
            return (sumarNumero(n / 10) + (n % 10));
    }
    public static void main(String args[])
    {
        Recursividad2 r2 = new Recursividad2();       
        r2.sumarNumero(34);
    }


Segun es un ejemplo que trata sobre sumar los digitos de un numero es decir si introducimos 34, el resultado debe de ser 7; pero no lo hace por el contrario lo primero que me imprime es un 3 despues un 7, luego otro 3 y por ultimo se cierra.
Si es que no me equivo como es recursivo siempre debe de estar imprimiendo un 7
Cualquier ayuda se lo agradeceria muchisimo.

De antemano Gracias a todos.
Título: Re: Problema de recursividad
Publicado por: Leyer en 6 Febrero 2010, 01:19 AM
Ok pruebalo asi

Código (java) [Seleccionar]

public int sumarNumero(int n){
       if(n==0)return n;
       return (sumarNumero(n / 10) + (n % 10));
   }

Título: Re: Problema de recursividad
Publicado por: lexoazul en 6 Febrero 2010, 01:33 AM
El problema es que cuando mando a imprimir esta parte del codigo:
System.out.println(sumarNumero(n / 10) + (n % 10))

me imprime primero un 3, despues el 7(el resultado correcto con respecto al numero 34) y por ultimo otro 3.
bueno la duda es como mando a imprimir al resultado correcto.

Talvez sea algo facil pero es que soy nuevo con este lenguaje.

muchisimas gracias LEYER por leer mi duda.
Título: Re: Problema de recursividad
Publicado por: Leyer en 6 Febrero 2010, 01:39 AM
bueno creo que deberias correr el anterior :)
Título: Re: Problema de recursividad
Publicado por: Blitzkrieg' en 6 Febrero 2010, 02:26 AM
Cita de: LEYER en  6 Febrero 2010, 01:39 AM
bueno creo que deberias correr el anterior :)

Leyer el link al JDK 7 de tu firma esta roto xD
Título: Re: Problema de recursividad
Publicado por: Leyer en 6 Febrero 2010, 02:31 AM
 :laugh: no lo habia notado peor ya esta
Título: Re: Problema de recursividad(Solucionado)
Publicado por: lexoazul en 8 Febrero 2010, 22:31 PM
Ok muchas gracias Leyer Ya busque mi error estaba colocando mal el System.out.print

Nuevamente gracias y me sirvio el codigo que me enviaste.


;D ;D       ;-) ;-)         :rolleyes: :rolleyes:            ::) ::)