No, innanzitutto stai testando 'i', che è solo l'indice. Devi prendere e usare il valore fornito da charAt!
Esiste comunque un approccio furbo e pratico: usare indexOf su un String che contiene le lettere da testare.
Per ciascun contatore: contatore / somma_contatori
moltiplicato per 100 ovviamente per avere la percentuale. Ah, importante: la divisione deve essere "floating-point". Se fai un int diviso un int la divisione è "intera", senza decimali. Converti uno dei due operandi a double.