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

concatenar

Estas en el tema de concatenar en el foro de Java en Foros del Web. hola a todos tengo lo siguiente: String nombres=nombre1 nombre2+nombre3+nombre4+nombre5+nombre6+nombre7+no mbre8+nombre9; pri1=(""+nombres+"\n CANTIDAD: "+cantidades+"\n PRECIO: $"+(precios)+"\n"); mi super duda es coomo le puedo hacer para q ...
  #1 (permalink)  
Antiguo 21/08/2009, 12:56
Avatar de LOVELY  
Fecha de Ingreso: abril-2009
Mensajes: 39
Antigüedad: 15 años, 6 meses
Puntos: 0
Exclamación concatenar

hola a todos tengo lo siguiente:
String nombres=nombre1 nombre2+nombre3+nombre4+nombre5+nombre6+nombre7+no mbre8+nombre9;

pri1=(""+nombres+"\n CANTIDAD: "+cantidades+"\n PRECIO: $"+(precios)+"\n");

mi super duda es coomo le puedo hacer para q a la hr de mandar a imprimir no se rompa la cadena cuando falta X ejem nombre3 o bien en el caso de
String precios=concepto1+concepto2+concepto3+concepto4+co ncepto5+concepto6+concepto7+concepto8+concepto9;
a la hr de imprimir no me marque los ceros

osea como le puedo hacer para concatenar resultados pero que al faltar uno de estos simplemente no lo imprima


gracias
  #2 (permalink)  
Antiguo 21/08/2009, 17:57
Avatar de DiabloGuardian  
Fecha de Ingreso: noviembre-2008
Ubicación: Hidalgo
Mensajes: 215
Antigüedad: 16 años
Puntos: 3
Respuesta: concatenar

creo que necesitarias comparar cada uno de los valores
__________________
-=:[ Lo importante no es saber todo, sino saber buscar ]:=-
  #3 (permalink)  
Antiguo 22/08/2009, 03:51
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: concatenar

Hola
Sí, estoy de acuerdo. Creo que podrías con un for ir comparando si los atributos String son igual a "" o a null, y si todos tienen algo ahora sí concatenarlos.
Suerte
  #4 (permalink)  
Antiguo 24/08/2009, 09:22
Avatar de LOVELY  
Fecha de Ingreso: abril-2009
Mensajes: 39
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: concatenar

mmmmm pero son muchos muchos valores :( osea no se si entendi bien algo asi como:


if (!clave.equals("0")){
pri1=("<B>CONCEPTO Mat Did: </B>"+clave +" <B>CANTIDAD: </B>"+cantidad +" <B>PRECIO: </B>$"+ formatter.format(concep1) +"");
}
if (!CLAVEA.equals("0")){
pri1=("<B>CONCEPTO Mat Did: </B>"+clave +""+l+""+CLAVEA +" <B>CANTIDAD: </B>"+cantidad + l+cantidadA +" <B>PRECIO: </B>$"+ formatter.format(concep1) +"$"+formatter.format(concep3) +"");
}


????????????????????? es asi su idea?

esq son muchos valores los que tendria que poner

gracias!!!
  #5 (permalink)  
Antiguo 25/08/2009, 02:36
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: concatenar

Bueno la idea es que todas tus claves estuvieran en un arreglo para ponerle sus resultados respectivos, esto con un for, dentro de éste pondrías un if que te diga si es null y si no lo es que haga lo que debe hacer

Código PHP:
for(int k=0;k<tus_claves.length;k++) {
if(!
tus_claves[k].equals("") ) {
pri1=("<B>CONCEPTO Mat Did: </B>"+clave +" <B>CANTIDAD: </B>"+cantidad +" <B>PRECIO: </B>$"formatter.format(concep1) +"");
}

Creo que eso podría ayudarte un poco, espero.
  #6 (permalink)  
Antiguo 25/08/2009, 05:57
 
Fecha de Ingreso: agosto-2009
Mensajes: 67
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: concatenar

Hola...

nombre1, nombre2, nombre3... ¿son variables diferentes? ¿O están definidas en un array?

La técnica normal sería usar un StringBuffer en lugar de concatenar, que es más rápido.

En caso de arrays:

StringBuffer buffer= new StringBuffer();
for (int i=0; i < nombres.lenght; i++){
if (nombres[i]!= null)
buffer.append(nombres[i]);
}

si no, tendrías que hacerlo algo así:

if (nombre1!= null) buffer.append(nombre1);
. . .

así con todos.



Igualmente, si lo que estás imprimiendo son datos de un objeto, te convendría quizá meter toda la lógica de construccion de la cadena en un método toString.


Un saludo.
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 13:57.