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

Mostrar numero alreves en Java

Estas en el tema de Mostrar numero alreves en Java en el foro de Java en Foros del Web. POR FAVOR NECESITO LA COLABORACION Como puedo mostrar un numero alreves en java ejemplo 456------ 654...
  #1 (permalink)  
Antiguo 09/06/2009, 16:24
 
Fecha de Ingreso: junio-2009
Mensajes: 13
Antigüedad: 14 años, 10 meses
Puntos: 0
Mostrar numero alreves en Java

POR FAVOR NECESITO LA COLABORACION
Como puedo mostrar un numero alreves en java

ejemplo 456------ 654
  #2 (permalink)  
Antiguo 09/06/2009, 16:51
 
Fecha de Ingreso: mayo-2009
Mensajes: 25
Antigüedad: 15 años
Puntos: 0
Respuesta: Mostrar numero alreves en Java

//Hola pues conveirteloa a String luego a un char array lo volteas con un for lo conviertes a int y lo imprimes. Saludos

int numero = 123;
String num = String.valueOf(numero);
String numeroAlRev;
char num [] = num.toCharArray();
for(int i =2;i>=0;i++)
{
numeroAlRev = numeroalRev.concat(num[i]);
}
int numerofinal = Integer.parseInt(numeroAlRev);
System.out.println(numerofinal);
  #3 (permalink)  
Antiguo 09/06/2009, 17:42
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Mostrar numero alreves en Java

casi casi ChrissVN pero con algunos detalles
El mas notable es qeu no puedes concatenar un String con un char, lo demas son cosas que nos pasan a todos, aqui el codigo modificado, aunque creo que debe de haber una forma mas eficiente

Código PHP:
int numero 123;
String num String.valueOf(numero);
String numeroAlRev="";
String a="";
char num2 [] = num.toCharArray();
for(
int i=2;i>=0;i--)
{
a=Character.toString(num2[i]);
numeroAlRev numeroAlRev.concat(a);
}
int numerofinal Integer.parseInt(numeroAlRev);
System.out.println(numerofinal);

Saludos
  #4 (permalink)  
Antiguo 09/06/2009, 17:54
 
Fecha de Ingreso: mayo-2009
Mensajes: 25
Antigüedad: 15 años
Puntos: 0
Respuesta: Mostrar numero alreves en Java

Si es cierto me equivoque en el nombre de mis variables
ups debi de hacerlo an algun IDE disculpas.
y si debe haber otro algoritmo mas eficaz tienes alguna idea?
  #5 (permalink)  
Antiguo 09/06/2009, 18:09
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Mostrar numero alreves en Java

a ver este se me hace mejor, mas iteraciones, menos objetos
Código PHP:
int n 45126;
int i;
for (
i=0;n>0;n/=10,i*=10)
    
i+=n%10;
System.out.println(i/10); 
aclaro, no lo hice yo, para que luego no digan q me ando pirateando las cosas y tmb si no jala para que no me echen la culpa jajajaj XD

de todas formas ya lo probe y si funciona, y es interesante
  #6 (permalink)  
Antiguo 10/06/2009, 00:09
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Mostrar numero alreves en Java

Funcionar funciona. Ahora puestos a dejarlo claro y puesto que sólo pide mostrarlo y no convertirlo de nuevo a entero.
Yo prefiero
De int a String, de String a StringBuffer, StringBuffer.reverse(), imprimir StringBuffer. Sin bucles y claro como el agua .

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #7 (permalink)  
Antiguo 10/06/2009, 05:12
 
Fecha de Ingreso: noviembre-2008
Mensajes: 115
Antigüedad: 15 años, 5 meses
Puntos: 4
Respuesta: Mostrar numero alreves en Java

Siguiendo con la solucion de GreenEyed, si hubiera que convertirlo en entero ademas de simplemente mostrarlo, podria hacerse algo asi
Código:
        int numero = 12345;
        numero = Integer.parseInt(new StringBuffer(String.valueOf(numero)).reverse().toString());
o con alguna linea mas

Código:
        int numero = 12345;        
        String numeroString = String.valueOf(numero);        
        StringBuffer numeroStringBuffer = new StringBuffer(numeroString);        
        numeroStringBuffer = numeroStringBuffer.reverse();        
        numeroString = numeroStringBuffer.toString();        
        numero = Integer.parseInt(numeroString);
Mi pregunta es, que utilizaria mas recursos? Esta solucion, o la de drac?
  #8 (permalink)  
Antiguo 10/06/2009, 05:31
 
Fecha de Ingreso: mayo-2009
Mensajes: 169
Antigüedad: 15 años
Puntos: 3
Respuesta: Mostrar numero alreves en Java

Ésto se puede hacer de forma muy sencilla usando una pila.
Metemos los números en orden. Luego al sacarlos saldrán al revés.
Puedes usar la clase Stack. Con los métodos push para meter y pop para sacar.
Saludos.
  #9 (permalink)  
Antiguo 10/06/2009, 05:48
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Mostrar numero alreves en Java

Cita:
Iniciado por jesuscoro Ver Mensaje
Mi pregunta es, que utilizaria mas recursos? Esta solucion, o la de drac?
Wenas.

mmmmmmmmmmmmmm depende del tamaño del numero. Para numeros pequeños creo que serian bastante parejos. Para numeros mas grandes (con mas digitos) la solucion de greeneyed seria mas eficiente.

En cuanto a numero de recursos, ten en cuenta que apenas hay conversiones en el metodo de greeneyed, y opr supuesto ningun bucle. El bucle lo hace el propio StringBuffer, que ya esta estudiado para que lo haga del modo mas eficiente posible, por la gente de sun. Y ademas, para que vas a hacer cocigo que ya esta hecho??

Como puedes ver jevergalvis, hay muchas soluciones a tu respuesta. Para experimentar me parece mas interesante la de la pila o cualquier estructura LIFO.
Como solucin idonea me parece la de greeneyed. (Otro dia te llevas tu los puntos drac )
Saludos.
  #10 (permalink)  
Antiguo 10/06/2009, 05:51
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Mostrar numero alreves en Java

Cita:
Iniciado por Noelito3 Ver Mensaje
Ésto se puede hacer de forma muy sencilla usando una pila.
Metemos los números en orden. Luego al sacarlos saldrán al revés.
Puedes usar la clase Stack. Con los métodos push para meter y pop para sacar.
Sencillo es un termino relativo. Para hacer eso necesitas pasar igualmente el numero a String, y una vez tienes el String... ¿Es más fácil recorrer los digitos y meterlos en una pila y luego sacarlos que llamar al metodo reverse() de StringBuffer?

En cuanto a utilizar recursos... seguramente la implementación que muestre drac94 consuma menos recursos ya que no hay pasos por String, suponiendo que quieras volver a tener un int, pero he puesto la mía como una alternativa de código más legible donde se sacrifica algo de eficiencia por hacer el código más mantenible.

La elección de por donde tirar dependería de la aplicación: En una aplicación de gestión típica, los millisegundos que podrías ganar serían una gota en el oceano de lo que cuesta acceder por la red o a una BDD. En cambio si necesitas rascar todos los milisegundos que puedas por que tu aplicación es de tiempo real o semi, pues la cosa está clara.

Lo malo del pragmatismo es que no te da reglas para seguir ciegamente .
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #11 (permalink)  
Antiguo 12/06/2009, 02:02
 
Fecha de Ingreso: mayo-2009
Mensajes: 169
Antigüedad: 15 años
Puntos: 3
Respuesta: Mostrar numero alreves en Java

La verdad es que no me había parado mucho a leer la pregunta, :D. Creía que los dígitos se tenían separados ya. Aunque la pregunta tampoco dice lo contrario ...
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 17:27.