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
UnoPorAhi
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