Il metodo java charAt(int index) della classe String ritorna il carattere all’indice specificato in una stringa.
Questo metodo lancerà una StringOutOfBoundException
se beginIndex non è un indice valido per la stringa. Un indice valido per questo metodo è un valore intero compreso fra 0 e la lunghezza della stringa -1 inclusi.
0 <= index < lunghezza stringa
Java String charat(int index) – esempio
public class EsempioCharat {
public static void main(String args[]) {
String str = "informaticappunti.it";
//Estraiamo il primo carattere della stringa
char ch1 = str.charAt(0);
//Estraiamo il sesto carattere della stringa
char ch2 = str.charAt(5);
System.out.println("Il carattere all'indice 0 è: "+ch1);
System.out.println(" Il carattere all'indice 5 è: "+ch2);
}
}
Avremo come output:
Il carattere all'indice 0 è: i
Il carattere all'indice 5 è: m
StringOutOfBoundException
Quando l’indice passato non è valido secondo i termini che abbiamo elencato nel paragrafo precedente, il metodo lancia una StringOutOfBoundException. Vediamo un esempio di codice in cui passiamo ad esempio un numero negativo (-2) al metodo charat provocando la StringOutOfBoundException.
package it.informaticappunti
public class EsempioEccezione {
public static void main(String args[]) {
String str = "informaticappunti.it";
//indice -2, il metodo lancerà un'eccezione perché minore di 0
char ch = str.charAt(-2);
System.out.println(ch);
}
}
Nell’output leggeremo la StringOutOfBoundException:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -2
at java.lang.String.charAt(String.java:658)
at it.informaticappunti.main(EsempioEccezione.java:6)
Metodo Java String charAt() – esempio metodo per contare le occorrenze di un carattere
In questo esempio useremo il metodo charAt() per contare il numero di occorrenze di un carattere in una stringa. Ricordiamoci che il metodo charAt() è case sensitive, sarà cioè differente cercare il carattere ‘a’ dal carattere ‘A’.
Proviamo a contare il numero di occorrenze del carattere ‘i’ nella nostra stringa di esempio.
public class EsempioContatore {
public static void main(String[] args) {
String str = "informaticappunti.it";
//inizializziamo il contatore a 0
int counter = 0;
for (int i=0; i<=str.length()-1; i++) {
if(str.charAt(i) == 'i') {
//abbiamo trovato una i, incrementiamo il contatore
counter++;
}
}
System.out.println("Carattere i trovato "+counter+" volte nella stringa");
}
}
Questa volta l’output sarà:
Carattere i trovato 4 volte nella stringa
Java String charAt() – esempio metodo per stampare tutti i caratteri di una stringa
Vediamo un altro esempio, questa volta stamperemo uno per volta i caratteri della stringa, andando a capo ad ogni carattere.
public class EsempioCharAt {
public static void main(String args[]) {
String str = "informaticappunti.it";
for(int i=0; i<=str.length()-1; i++) {
System.out.println(str.charAt(i));
}
}
}
Il risultato sarà un po’ lungo ma testimonierà la correttezza del nostro esempio.
i
n
f
o
r
m
a
t
i
c
a
p
p
u
n
t
i
.
i
t
Per ulteriori approfondimenti: