Visualizzazione dei risultati da 1 a 4 su 4

Discussione: invertire un array

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    8

    invertire un array

    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

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: invertire un array

    Originariamente inviato da hachi85
    this.caratteri[i]=caratteri[20-i];
    20-i-1

    Ma non "cablare" così il numero di caratteri!! (quel 20)
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    8
    e pensare che c'ho perso un giorno su un errore così

    grazie mille

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613
    Puoi usare il metodo reverse di StringBuilder o StringBuffer, a meno che ovviamente tu non lo stia facendo "per esercizio".

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.