Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/11/2010, 12:08
r_alonso2
 
Fecha de Ingreso: noviembre-2010
Mensajes: 1
Antigüedad: 14 años, 4 meses
Puntos: 0
Problema mostrar arrays caracteres convertidos en string por pantalla

Muy buenas a todos. Tengo un problema con una practica. Tengo lo siguiente:

public class RegistroDatosPersonales extends RegistroLH{
public static final int TAMANIO_NOMBRE = 15;
public static final int TAMANIO_APELLIDOS = 30;

private int numReg;
private char[] Nombre = new char [TAMANIO_NOMBRE];
private char[] Apellidos = new char [TAMANIO_APELLIDOS];
private int Telefono;

public String obtenerNombre()
{String s = new String(this.Nombre);
return s;
}
public String obtenerApellidos()
{ String s = new String(this.Apellidos);
return s;
}
.
.
.
String msg = "";
msg += "RegistroDatosPersonales [control= " + super.obtenerControl() + ", numReg= " + this.numReg
+ ", nombre= " + this.obtenerNombre() + ", apellidos= " + this.obtenerApellidos() + ", telefono= " + obtenerTelefono() + "]";


mi problema es el siguiente, tengo las clases que obtienen los atributos de la clase convertidos a string (obtenerNombre, obtenerApellidos...). Hasta ahi todo bien, pero al intentar mostrar por pantalla el contenido de msg solo muestra hasta el this.obtenerNombre, la parte d apellidos ya se la come, y todo lo k viene detras tambien, es decir muestra la variable incompleta. He probado que los metodos devuelven los valores correctos y que cuando no llamo a uno de estos metodos de obtener (por ejemplo quitando obtenerNombre y apellidos) si muestra bien lo que viene despues. Teneis alguna idea a que puede ser debido???. Muchas gracias y un saludo a todos.

EDITO: Al cambiar de linea despues de los campos conflictivos lo hace bien, pero cambiando de linea("\n")----- msg += "RegistroDatosPersonales [control= " + super.obtenerControl() + ", numReg= " + this.numReg + ", nombre= " + this.obtenerNombre() + " \n apellidos= " + this.obtenerApellidos() + "\n telefono= " + obtenerTelefono() + "\n ]";

De esta forma escribe todos los campos correctamente, eso si, con cambio de linea. El objetivo es que muestre la tira entera en una linea.

Última edición por r_alonso2; 01/11/2010 a las 14:24