Nwlapcug.com


Come determinare il numero totale di occorrenze di ogni lettera dell'alfabeto nel testo in Java

Come determinare il numero totale di occorrenze di ogni lettera dell'alfabeto nel testo in Java


Contando il numero di occorrenze di ogni lettera alfabetica all'interno di una stringa di testo è un compito che risulta per essere più complessa di quanto ci si potrebbe aspettare. Tuttavia, il processo non è necessariamente difficile. Come con qualsiasi attività di programmazione, è necessario suddividerlo in piccoli passi, concentrandosi su ciascuno di essi a sua volta. Ci sono vari modi per contare le occorrenze di caratteri in una stringa, ma l'approccio più semplice è quello di sfruttare il fatto che i personaggi sono variabili di tipo primitivo con valori numerici.

Istruzioni

1

Creare la stringa di testo. Se non avete già una stringa nel programma, è possibile utilizzare il codice seguente per creare uno:

Oggetto stringa = "Qui ci sono alcuni personaggi disposti in una stringa";

Creare una matrice di interi per mantenere un contatore per ogni lettera dell'alfabeto:

int [] lettere = new int [26];

Creare un'istanza gli elementi di matrice, impostazione inizialmente ognuno a zero:

per (int l = 0; l < letters.length; l + +)
{lettere [l] = 0;}

2

Creare un ciclo per scorrere i caratteri nella stringa. Utilizzare il codice seguente per eseguire un ciclo attraverso la stringa, archiviare ogni carattere come valore integer:

per (int c = 0; c < subject.length(); c + +) {
int charNum = subject.charAt(c);
ulteriore elaborazione qui
}

Questo ciclo si ripete una volta per ogni lettera della stringa. Ogni volta che viene eseguito il corpo del ciclo, memorizza il carattere corrente come valore integer a tipo primitivo.

3

Eseguire un test condizionale il carattere per assicurarsi che si tratta di una lettera. Aggiungere il seguente test all'interno il ciclo:

Se ((charNum > = 'A' & & charNum < = 'Z') | | (charNum > = 'a' & & charNum < = 'z')) {
ulteriore elaborazione qui
}

Questo codice esegue due coppie di test. La prima coppia prove che il carattere è tra le lettere maiuscole "A" e "Z" caratteri. La seconda coppia prove che il carattere è tra le versioni di lettere minuscole. Se una di queste coppie di test restituisce un valore true, viene eseguito il contenuto dell'istruzione condizionale; Se il carattere non è una lettera, l'intero test restituisce falsi.

4

Eseguire un test condizionale per controllare i caratteri minuscoli. Il programma può trattare i superiore e minuscole versioni dei personaggi nello stesso modo, ma hanno diversi valori numerici. Aggiungere il seguente test all'interno il vostro se istruzione:

Se (charNum > = 'a' & & charNum < =(char)'z') charNum-= 32;

Questo codice indica al programma di utilizzare gli stessi valori numerici per i caratteri minuscoli per quanto riguarda le versioni di lettere maiuscole, sottraendo la differenza tra loro. Incrementa il contatore di elemento di matrice per il carattere corrente come segue:

lettere [charNum-'A '] + +;

Questo codice indica a Java per aggiungere uno per il contatore di matrice per il carattere corrente, con la lettera A nella posizione zero e Z in posizione 25. Sottraendo il valore della lettera maiuscola "A" dà il codice nella posizione corretta.

5

Verificare le variabili di contatore. Aggiungere il seguente ciclo dopo il ciclo di carattere, l'output i valori ad ogni posizione di elemento del contatore:

per (int i = 0; i < letters.length; i + +)
{System.out.println((char)(i+'A') + "" + letters[i]);}

Si dovrebbe vedere ogni lettera dell'alfabeto scritto a fianco il contatore all'interno della stringa.

Consigli & Avvertenze

  • Pensare di tipo primitivo carattere variabili e valori in Java come simili ai numeri.
  • Se avete una lunga stringa nel programma, il ciclo sarà necessario scorrere molte volte.