Foros del Web » Programación para mayores de 30 ;) » Java »

Error: invertir numero recursivamente

Estas en el tema de Error: invertir numero recursivamente en el foro de Java en Foros del Web. Amigos cual es el error del siguiente codigo....me tiene que imprimir el numoer inverso ingresado por teclado...la verdad es que no se mucho de Java ...
  #1 (permalink)  
Antiguo 31/10/2012, 12:56
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 13 años, 5 meses
Puntos: 3
Error: invertir numero recursivamente

Amigos cual es el error del siguiente codigo....me tiene que imprimir el numoer inverso ingresado por teclado...la verdad es que no se mucho de Java pero le hice el seguimiento y en el papel funciona.

codigo

Código Java:
Ver original
  1. import java.util.Scanner;
  2.  
  3. public class Ejercicio1 {
  4.  
  5.  
  6.     static Scanner input = new Scanner(System.in);
  7.  
  8.     public static void main(String[] args)
  9.     {
  10.         int n, reverse;
  11.         System.out.print("Enter an integer: ");
  12.         n = input.nextInt();
  13.        reverse=Invertir(n);
  14.     }
  15.  
  16.  public String Invertir(int num){
  17.             if (num < 10)
  18.                 return String.valueOf(num);
  19.             else
  20.                 return String.valueOf(num%10) + Invertir(num/10);
  21.         }    
  22.      
  23.    
  24.  
  25. }


Gracias
  #2 (permalink)  
Antiguo 31/10/2012, 14:20
 
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 185
Antigüedad: 12 años, 7 meses
Puntos: 29
Respuesta: Error: invertir numero recursivamente

Es en la línea 17: if(num>10)

Si metes por ejemplo 1234, el número será >10, por lo que te devolverá el mismo. Lo correcto es if(num<10), así entraría siempre en el else, a excepción de cuando sólo quede 1 cifra.

Etiquetas: invertir, numero, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:55.