
12/02/2014, 09:05
|
| | Fecha de Ingreso: marzo-2007
Mensajes: 127
Antigüedad: 18 años 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. |