Il metodo charAt(int index) della classe java String ritorna il carattere all’indice specificato come parametro nella stringa su cui viene eseguito. Si tratta si uno dei metodi string che permettono di fare semplici operazioni sulle stringhe.
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) -semplice programma di esempio
Vediamo un semplice esempio di codice, scriviamo un programma che estrarrà il carattere alla posizione 0 e poi quello alla posizione 5 e ce li mostrerà sullo schermo.
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 programma 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 la lettera ‘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 di input, 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));
}
}
}
Si potrà utilizzare la stessa tecnica ad esempio per convertire l’intera stringa in un array di caratteri, basterà sostituire il System.out con l’inserimento nell’array/lista.
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:
Documentazione javadoc del metodo String charAt()