Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 09-mar-2008, 15:13   #1 (permalink)
bladu ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2007
Mensajes: 171
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
bladu está desconectado   Responder Citando
Antiguo 10-mar-2008, 00:00   #2 (permalink)
vdpazmino ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2007
Mensajes: 119
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;
}
vdpazmino está desconectado   Responder Citando
Antiguo 10-mar-2008, 03:01   #3 (permalink)
bladu ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2007
Mensajes: 171
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
bladu está desconectado   Responder Citando
Antiguo 10-mar-2008, 04:47   #4 (permalink)
bladu ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2007
Mensajes: 171
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
}
bladu está desconectado   Responder Citando
Antiguo 12-mar-2008, 05:45   #5 (permalink)
MK2
MK2 ha deshabilitado el karma
 
Fecha de Ingreso: enero-2007
Mensajes: 42
Enviar un mensaje por MSN a MK2
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.
MK2 está desconectado   Responder Citando
Antiguo 12-mar-2008, 15:48   #6 (permalink)
bladu ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2007
Mensajes: 171
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
bladu está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 19:02.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93