Si #2, existen esos métodos. Io empece con Kawa, cambie a Eclipse y vamos, Eclipse es como el word, te va corrigiendo y en tiempo real xD. Kawa sin embargo, muy bueno, pero muy soso, sin colorines, no como Eclipse .
Puedes usar charAt(i), en concreto, cadena.charAt(i) que hace que trates como un vector la cadena donde i es el indice que lo vas iterando para hacer las comprobaciones.
Tambien lenght(), en concreto, cadena.lenght() (esta vez sin nada dentro de los parentesis).
El codigo en sí es este:
import java.io.*;
public class Contarletras
{
public static void main (String[]args)throws IOException
{
//IO datos
InputStreamReader en = new InputStreamReader(System.in);
BufferedReader entrada = new BufferedReader(en);
System.out.println("Introduzca a analizar:");
String cadena;
cadena = entrada.readLine();
//Fin IO Datos
int longitud=cadena.length();
int i;
int total=0;
for (i=0;i<longitud;i++)
{
if (cadena.charAt(i)=='a')
{
total++;
}
}
System.out.println("El número de veces que esta repetida la a es: "+total);
}
}
[/i]
Si quieres introducirla directamente pues quitas la parte de //IO Datos y borras import java.io.*; y escribes cadena="introduces_aqui_el_texto";
Otra cosa, los arrays como comienzan en 0, el valor de índice máximo es maximo-1, lo que pasa que para optimizar la iteracion de for no le restas una unidad, ya que hacer for (i=0;i<longitud;i++) es más óptimo que
for (i=0;i<=longitud-1;i++) ya que te ahorras una comparacion (el igual no lo haces).
De todos modos, si esto ultimo no lo entiendes no te preocupes no es importante (al menos en programas tan sencillos como este).
Editado: una estiqueta para los codigos ya!