Autor Tema: Concatenar enteros  (Leído 10267 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado llAudioslavell

  • Trade Count: (0)
  • Sv Member
  • ***
  • Thank You
  • -Given: 12
  • -Receive: 3
  • Mensajes: 126
Concatenar enteros
« : diciembre 15, 2012, 01:39:08 pm »
Hola bueno este es mi problema:
Necesito una variable que almacene diferentes valores que se le asigna,por cada iteracion, dentro de un WHILE.... y estos valores son numericos....  en VB.net seria mas sencillo con el "&"  pero en Java el operador de concatenacion como ya saben es el "+" y lo unico que consiguo es sumar los valores =/.....

Gracias....

Desconectado mxgxw

  • Global Moderator
  • Trade Count: (1)
  • The Communiter-
  • *
  • Thank You
  • -Given: 27
  • -Receive: 651
  • Mensajes: 5666
  • Starlet - 999cc
    • mxgxw
Re:Concatenar enteros
« Respuesta #1 : diciembre 15, 2012, 01:58:07 pm »
Hola bueno este es mi problema:
Necesito una variable que almacene diferentes valores que se le asigna,por cada iteracion, dentro de un WHILE.... y estos valores son numericos....  en VB.net seria mas sencillo con el "&"  pero en Java el operador de concatenacion como ya saben es el "+" y lo unico que consiguo es sumar los valores =/.....

Gracias....


Método fácil y no muy adecuado:

Código: [Seleccionar]
String val = "";
while ....
   val= val+""+numero

Lo correcto y lo ideal es usar un StringBuffer
Código: [Seleccionar]
StringBuffer sb = new StringBuffer();

while....
   sb.append(numero);

String final = sb.toString();
« Última Modificación: diciembre 15, 2012, 01:59:47 pm por mxgxw »


Desconectado llAudioslavell

  • Trade Count: (0)
  • Sv Member
  • ***
  • Thank You
  • -Given: 12
  • -Receive: 3
  • Mensajes: 126
Re:Concatenar enteros
« Respuesta #2 : diciembre 15, 2012, 01:59:31 pm »
Método fácil y no muy adecuado:

Código: [Seleccionar]
String val = "";
for ....
   val= val+""+numero

Lo correcto y lo ideal es usar un StringBuffer
Código: [Seleccionar]
StringBuffer sb = new StringBuffer();

for....
   sb.append(numero);

String final = sb.toString();

"append"  estaba leyendo sobre esto.......  tratare de aplicarlo !! Gracias !!

Desconectado llAudioslavell

  • Trade Count: (0)
  • Sv Member
  • ***
  • Thank You
  • -Given: 12
  • -Receive: 3
  • Mensajes: 126
Re:Concatenar enteros
« Respuesta #3 : diciembre 15, 2012, 02:07:46 pm »
Una pregunta ... !!

        int num1=5;
        int num2=4;
        String numCadena= Integer.toString(num1);
        String numCadena2= Integer.toString(num2);
       
        System.out.println(numCadena+numCadena2);

lo probe pero nada, me salta un error ...
pero yo lo veo lógico osea, lo convierto a cadena y lo concateno,deberia funcionar..   :sad:....   :-/ estoy confundido

Desconectado g00mba

  • Trade Count: (3)
  • The Communiter-
  • *
  • Thank You
  • -Given: 184
  • -Receive: 2598
  • Mensajes: 14564
  • SOMOS LEGION
    • ALABADO SEA MONESVOL
Re:Concatenar enteros
« Respuesta #4 : diciembre 15, 2012, 03:37:11 pm »
talvez porque int es una primitiva e Integer es un OBJETO java, específicamente un objeto que guarda una variable int dentro de si mismo.
tu problema es que Integer.toString() espera que le pases un objeto, no un primitivo.

TLDR: declaralas como "Integer numx=1"

Desconectado llAudioslavell

  • Trade Count: (0)
  • Sv Member
  • ***
  • Thank You
  • -Given: 12
  • -Receive: 3
  • Mensajes: 126
Re:Concatenar enteros
« Respuesta #5 : diciembre 15, 2012, 03:44:25 pm »
talvez porque int es una primitiva e Integer es un OBJETO java, específicamente un objeto que guarda una variable int dentro de si mismo.
tu problema es que Integer.toString() espera que le pases un objeto, no un primitivo.

TLDR: declaralas como "Integer numx=1"


yo pense que la unica manera de declarar una variable de tipo entero era con el INT ..... e.e no debi de dejar de practicar Java. ..   :@

Desconectado g00mba

  • Trade Count: (3)
  • The Communiter-
  • *
  • Thank You
  • -Given: 184
  • -Receive: 2598
  • Mensajes: 14564
  • SOMOS LEGION
    • ALABADO SEA MONESVOL
Re:Concatenar enteros
« Respuesta #6 : diciembre 15, 2012, 03:46:35 pm »
pregunta, manejas bien los conceptos de orientacion a objetos? te quiero explicar lo de los tipos de objeto especiales de manejo de datos pero no se si vas a entender si no manejas la POO

Desconectado llAudioslavell

  • Trade Count: (0)
  • Sv Member
  • ***
  • Thank You
  • -Given: 12
  • -Receive: 3
  • Mensajes: 126
Re:Concatenar enteros
« Respuesta #7 : diciembre 15, 2012, 03:51:08 pm »
pregunta, manejas bien los conceptos de orientacion a objetos? te quiero explicar lo de los tipos de objeto especiales de manejo de datos pero no se si vas a entender si no manejas la POO

Solo lo basico de la POO, clases objetos metodos etc.. .... si explicame porfavor necesito entender todo esto !!!

Desconectado g00mba

  • Trade Count: (3)
  • The Communiter-
  • *
  • Thank You
  • -Given: 184
  • -Receive: 2598
  • Mensajes: 14564
  • SOMOS LEGION
    • ALABADO SEA MONESVOL
Re:Concatenar enteros
« Respuesta #8 : diciembre 15, 2012, 04:03:05 pm »
Solo lo basico de la POO, clases objetos metodos etc.. .... si explicame porfavor necesito entender todo esto !!!
ok
yo pense que la unica manera de declarar una variable de tipo entero era con el INT
estas en lo correcto, la única manera de declarar una variable como entero, es declararla como tipo INT. lo que haces con Integer es declarar un objeto que contiene una variable de tipo INT dentro. es una forma abreviada de declarar un objeto con un método que regresa un entero. tene en cuenta que java es pura POO asi que TENES que usar objetos tarde o temprano. en el caso de los tipos especiales de datos como objetos, te permite extender la funcionalidad de java con respecto a las operaciones que podes hacer con ellos. es decir, hay cosas que podes hacer con variables y otras que podes hacer con objetos que contienen esas variables.

los tipos de objetos que te interesan ahorita son:
char es primitiva de Character, short es primitiva de Short, long con Long, float y Float, double y Double. notá la diferencia de las mayúsculas.

Tené en cuenta que con los objetos, no podes hacer operaciones aritméticas con ellos directamente, , obviamente, podes extraer sus valores y operarlos normalmente, tampoco podes cambiar su valor sin destruir el objeto, es decir no podes darle otro valor si ya está declarado, es como que a tu variable int le pusieras que es FINAL.

SIN EMBARGO, podes hacer TODO lo demás que podes hacer con las primitivas (como retorno de un método, pasarlo como parámetro, etc) y muchas otras cosas más, como por ejemplo pasarlo como parámetro de java.Lang.Integer.
« Última Modificación: diciembre 15, 2012, 04:05:33 pm por g00mba »

Desconectado JaiMe

  • Global Moderator
  • Trade Count: (0)
  • The Communiter-
  • *
  • Thank You
  • -Given: 43
  • -Receive: 413
  • Mensajes: 1485
  • λ | h+
Re:Concatenar enteros
« Respuesta #9 : diciembre 15, 2012, 04:43:14 pm »
Una pregunta ... !!

        int num1=5;
        int num2=4;
        String numCadena= Integer.toString(num1);
        String numCadena2= Integer.toString(num2);
       
        System.out.println(numCadena+numCadena2);

lo probe pero nada, me salta un error ...
pero yo lo veo lógico osea, lo convierto a cadena y lo concateno,deberia funcionar..   :sad:....   :-/ estoy confundido


El método estatico toString puede ser pasado una primitiva int.

Código: [Seleccionar]
Integer.toString(5);
or

Código: [Seleccionar]
Integer.toString(5, 10);   // el segundo parámetro es el radix
No hay que confundirlo con el instance method toString(), el cual ocuparías asi

Código: [Seleccionar]
Integer n = new Integer(5);   // podes omitir el contructor
n.toString();      // "5"

----

Tu código funciona, concatena el 5 y el 4


http://ideone.com/RsDDUQ

Por curiosidad, cual es el error que te sale?

pd: acordate de tu pregunta anterior sobre VarArgs, ahora combinala con la recomendación de usar StringBuffer#append y crea un metodo parecido a concatInts(5, 4)


« Última Modificación: diciembre 15, 2012, 08:48:25 pm por JaiMe »
"Unless you try to do something beyond what you have already mastered, you will never grow."
― Ralph Waldo Emerson