Buon giorno, scusate se vi disturbo ancora. Sto cercando di invertire un array di caratteri
Il codice che ho scritto nella classe Stringa è questo:
codice:
public void inversa(char[] caratteri)
{ for (int i=0;i<20; i++)
this.caratteri[i]=caratteri[20-i];
for (int i=0;i<20;i++)
System.out.print(caratteri[i]);
}
nella classe di test richiamo il metodo così:
codice:
char[] prova4=new char[20];
prova4[0]=' ';
prova4[1]=' ';
...
prova4[19]=' ';
Stringa s5= new Stringa(prova4);
s5.inversa(prova2);
quando lancio il programma mi scrive:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 20
at Stringa.inversa(Stringa.java:83)
at TestStringa.main(TestStringa.java:120)
Grazie