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

Ayuda! Como declarar una instancia de este constructor

Estas en el tema de Ayuda! Como declarar una instancia de este constructor en el foro de Java en Foros del Web. Hola! Tengo esta clase : public class Secuencia { private static final int Caracteres=30; private String texto[]; public Secuencia(String pTexto[]) { for (int i=0;i<MAXCAR;i++) { ...
  #1 (permalink)  
Antiguo 09/03/2008, 15:13
 
Fecha de Ingreso: mayo-2007
Mensajes: 222
Antigüedad: 17 años
Puntos: 0
Ayuda! Como declarar una instancia de este constructor

Hola!

Tengo esta clase :
public class Secuencia {

private static final int Caracteres=30;
private String texto[];

public Secuencia(String pTexto[]) {
for (int i=0;i<MAXCAR;i++)
{
this.texto[i]=pTexto[i];
}
this.texto=pTexto;
}

public String[] obtTexto()
{
return (texto);
}

}

La variable texto tiene que tener una longitud maxima de 30 caracteres, sea cual sea la longitud de caracteres de la variable

Ahora en el programa principal quiero instanciar a la clase Secuencia:

Hago lo siguiente:

public static void main(String[] args) {
String datos[]=new String[1];
String a="Esto es una prueba";
datos[0]=a;
Secuencia s= new Secuencia(datos);
System.out.println(s.obtTexto()); // Aqui quiero sacar el mensaje "Esto es una prueba"

}

Pero en la linea "Secuencia s= new Secuencia(datos); " me da un Null Pointer Exception, cuyo origen tiene en la instruccion " this.texto[i]=pTexto[i];" y no se como resolverlo.

¿Alguien me puede ayudar?

Gracias y un saludo
  #2 (permalink)  
Antiguo 10/03/2008, 00:00
 
Fecha de Ingreso: mayo-2007
Mensajes: 210
Antigüedad: 17 años
Puntos: 8
Re: Ayuda! Como declarar una instancia de este constructor

En la parte del constructor te falta instanciar el arreglo:

public Secuencia(String pTexto[]) {
this.texto= new String[Caracteres];
for (int i=0;i<MAXCAR;i++)
{
this.texto[i]=pTexto[i];
}
this.texto=pTexto;
}
  #3 (permalink)  
Antiguo 10/03/2008, 03:01
 
Fecha de Ingreso: mayo-2007
Mensajes: 222
Antigüedad: 17 años
Puntos: 0
Re: Ayuda! Como declarar una instancia de este constructor

Cita:
Iniciado por vdpazmino Ver Mensaje
En la parte del constructor te falta instanciar el arreglo:

public Secuencia(String pTexto[]) {
this.texto= new String[Caracteres];
for (int i=0;i<MAXCAR;i++)
{
this.texto[i]=pTexto[i];
}
this.texto=pTexto;
}

Hola!

Gracias por responder.

Sigue sin salirme bien si pongo this.texto= new String[Caracteres]; en la linea this.texto[i]=pTexto[i]; me da un error de : java.lang.ArrayIndexOutOfBoundsException: 1

¿sabe alguien como solucionar esto?

Gracias y un saludo
  #4 (permalink)  
Antiguo 10/03/2008, 04:47
 
Fecha de Ingreso: mayo-2007
Mensajes: 222
Antigüedad: 17 años
Puntos: 0
Re: Ayuda! Como declarar una instancia de este constructor

Lo he arreglado un poco, pero sigo teniendo un problemilla:

Tengo esta clase :
public class Secuencia {

private static final int Caracteres=30;
private String texto[]=new String [Caracteres];

public Secuencia(String pTexto[]) {
for (int i=0;i<MAXCAR;i++)
{
this.texto[i]=pTexto[i];
}
this.texto=pTexto;
}

public String[] obtTexto()
{
return (texto);
}

}

En el principal
public class Main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {

String datos[]=new String[1];
String a="Esto es una prueba";
datos[0]=a;
Secuencia s= new Secuencia(datos);
System.out.println(s.obtTexto());
}

Pero cuando lo ejecuto en vez de la salirme el texto "Esto es una prueba" me sale la direccion de memoria, es decir: [Ljava.lang.String;@19821f

y yo quiero que me salga el texto


¿Alguien me puede ayudar?

Gracias y un saludo
}
  #5 (permalink)  
Antiguo 12/03/2008, 05:45
MK2
 
Fecha de Ingreso: enero-2007
Mensajes: 48
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Ayuda! Como declarar una instancia de este constructor

La función obtTexto está retornando un array (String[]) y no un string, de ahí que no te devuelva el texto.

Tampoco veo la variable MAXCAR definida en la clase Secuencia, aunque supongo que si lo tendrás definidio y no lo has puesto.
  #6 (permalink)  
Antiguo 12/03/2008, 15:48
 
Fecha de Ingreso: mayo-2007
Mensajes: 222
Antigüedad: 17 años
Puntos: 0
Re: Ayuda! Como declarar una instancia de este constructor

Cita:
Iniciado por MK2 Ver Mensaje
La función obtTexto está retornando un array (String[]) y no un string, de ahí que no te devuelva el texto.

Tampoco veo la variable MAXCAR definida en la clase Secuencia, aunque supongo que si lo tendrás definidio y no lo has puesto.
Gracias por la respuesta MK2 ya solucione el problema
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 05:57.