Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/02/2014, 09:05
pumi
 
Fecha de Ingreso: marzo-2007
Mensajes: 127
Antigüedad: 17 años, 2 meses
Puntos: 2
Respuesta: error de un novato

Gracias Xerelo por tu respuesta. ¿Me podrçías decir cómo tengo que hacerlo?. He modificado el código y he hecho esto:

1º: creo un fichero llamado "CadenasCaracteres.java" con el código


import java.io.*;

public class CadenasCaracteres {




public static void main(String[] args) throws IOException{
// TODO Apéndice de método generado automáticamente


LaCadena miFrase = new LaCadena("Esta es la frase");


miFrase.mostrarAtributos();

}

}

2º: creo otro fichero en el proyecto llamado "LaCadena.java" con el código

public class LaCadena{
String contenido;
String contenidoInverso;
int longitudContenido;

//constructor de la clase
public LaCadena(String miCadena)
{
this.cambiarContenido(miCadena);
}
//fin del constructor

//método para cambiar los atibutos.
void cambiarContenido(String miCadena)
{
//int longitudContenido;
int posicion=0, i=0;

//this.longitudCadena=0;
this.contenido=miCadena;

this.longitudContenido=this.contenido.length();
this.contenidoInverso="";
for(i=longitudContenido;i>=0;--i)
{
this.contenidoInverso=this.contenidoInverso + this.contenido.charAt(i);
}
}
//fin metodo cambiar atributos

//metodo para mostrar los atributos
void mostrarAtributos()
{
System.out.println("EL CONTENIDO DEL OBJETO ES: " + this.contenido);
System.out.println("LA LONGITUD DEL CONTENIDO ES: " + this.longitudContenido);
System.out.println("EL CONTENIDO AL REVES ES: " + this.contenidoInverso.toString());
}
}

3º: El programa no funciona, la salida que tengo por consola es:

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 8
at java.lang.String.charAt(Unknown Source)
at LaCadena.cambiarContenido(LaCadena.java:29)
at LaCadena.<init>(LaCadena.java:12)
at CadenasCaracteres.main(CadenasCaracteres.java:15)



Gracias de nuevo por tu ayuda.