Buenas!
Estoy haciendo una práctica para la carrera, la cual necesita uso de arrays. He estado trabajando con ellos perfectamente hasta hoy que me han empezado a hacer el 'tonto':
Este fragmento de código:
Código Java:
Ver original Traductor traductor = new Traductor();
System.
out.
print("Desea especificar un archivo a traducir, de lo contrario se cojerá '"+ruta
+"' (s/n) ? "); String opcion
= in.
readLine(); if(opcion.equals("s") || opcion.equals("S")){
System.
out.
print("Introduzca la ruta absoluta del archivo a traducir: "); ruta = in.readLine();
}
char[] texto = traductor.traducir(ruta).toCharArray();
int i = 0;
while(i<texto.length){
temporal = "";
while(texto[i] != ' '){
temporal+=texto[i];
i++;
}
retorno+=traductor.traducir(temporal);
i++;
}
}
Me salta estos errores en la consola de NetBeans
Código:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 9
at pseudotraductor.Main.main(Main.java:34)
Java Result: 1
La linia 34 equivale a:
No tengo ni idea de lo que puede ser
... y los métodos
lectura() y traducir ()
Código Java:
Ver original boolean fin = true;
int i;
do{
i = buffer.read();
while (i!=-1 && i!=(int)' '){
texto += (char)i;
i=buffer.read();
}
if(!texto.equals(palabra)){
do{
i=buffer.read();
}while(i!=(int)'\n'&&i!=-1);
}else{
fin = false;
}
}while(fin && i!=-1);
if (i==-1){
retorno = palabra;
}else{
buffer.read();// elimina els :
buffer.read();// elimina l'espai que hi ha abans de la traducció de cada paraula
retorno="";
i=buffer.read();
while(i!=(int)'\n'&&i!=-1){
retorno+=(char)i;
i=buffer.read();
}
buffer.close();
}
traduccion = retorno;
return retorno;
}
int i = buffer.read();
while(i!=-1){
retorno+=(char)i;
i = buffer.read();
}
return retorno;
}