Nwlapcug.com


Come cercare il numero di occorrenze di ogni carattere in una stringa in Java

Più metodi possono essere utilizzati per contare la frequenza di ogni carattere all'interno di una data stringa in Java. Tuttavia, il più semplice si avvale della struttura di dati "HashMap", che permette di mettere in relazione una chiave su un valore. In questo caso, la chiave sarà la lettera dell'alfabeto, e il valore sarà il numero di occorrenze di tale lettera finora nel conteggio.

Istruzioni

1

Aprire un editor di testo o il tuo ambiente di sviluppo integrato (IDE) di preferito Java.

2

Incollare il codice seguente nell'editor:

public class LetterFrequency {

public static void main(String[] args) {

String s = "This is a string.";

String temp = s.toUpperCase();

char[] arr = temp.toCharArray();

HashMap<Character,Integer> count = new HashMap<Character, Integer>();

for (char c : arr) {

try {

count.put(c, count.get(c)+1);

} catch (NullPointerException e) {

count.put(c, 1);

}

}

for (Character c: count.keySet()) {

System.out.println(c + "= " + count.get(c));

}

}

}

Questo crea una stringa di esempio e converte tutte le lettere in maiuscolo, come il codice non dovrebbe distinguere tra lettere maiuscole e minuscole. Quindi recupera una matrice di ogni carattere della stringa e crea un "HashMap" che riguarda caratteri interi. Successivamente, procede attraverso ogni lettera della matrice e incrementa il conteggio in "HashMap" di uno. Se il carattere non è mai stato visto prima e di conseguenza genera un "NullPointerException", è aggiunto alla matrice e dato un valore di "1". Infine, viene stampato un report all'utente.

3

Salvare il lavoro. Se si utilizza un'IDE, è possibile eseguire questo programma direttamente cliccando il pulsante di marcia.

Consigli & Avvertenze

  • Questo algoritmo non mantiene l'ordine della lettera nella relazione finale. Esso comprenderà anche spazi e segni di punteggiatura nella relazione.