Buenas,
Primero fijate que int cont[] = new int[26]; guarda un array de enteros para cada una de las 26 letras del alfabeto.
[0] => 0 (Ocurrencias de la letra 'a')
[1] => 0 (Ocurrencias de la letra 'b')
......
Luego ejecuta este codigo:
System.out.println((int) 'a');
Te da 97? Fijate entonces en esta tabla: http://es.wikipedia.org/wiki/ASCII
Reflexiona sobre todo ello un poco y llegaras tu mismo a la solucion.
Un saludo
Hola, encontré un programa el cúal hace exactamente lo que necesito. Lo que tengo dudas sobre el funcionamiento. El programa lo que hace es pedir una cadena de carácteres y mostrar cuantas veces aparece cada caracter individualmente.
import java.util.Scanner;
public class contar {
public static void main(String[]args){
Scanner teclado = new Scanner( System.in);
int i;
System.out.print( "Escribe una palabra: ");
String frase = teclado.nextLine();
int cont[] = new int[26];
for(i = 0; i < frase.length(); i++){
char c = Character.toLowerCase( frase.charAt(i));
if(c >= 'a' && c <= 'z' )
cont[c - 'a']++;
}
for(i = 0; i < 26; i++)
if(cont[i] > 0)
System.out.println( (char)(i + 'a') + ": " + cont[i]);
}
}
No entiendo exactamente lo que hace en:
if(c >= 'a' && c <= 'z' )
cont[c - 'a']++;
Si alguien pudiera explicarmelo. Gracias