Sono sbagliate molte cose in questo esercizio;
Intanto quegli if così messi non vanno bene.
codice:
if (parola.charAt(contatore)=='a')
if (parola.charAt(contatore)=='e')
if (parola.charAt(contatore)=='i')
if (parola.charAt(contatore)=='o')
if (parola.charAt(contatore)=='u')
if (parola.charAt(contatore)=='A')
if (parola.charAt(contatore)=='E')
if (parola.charAt(contatore)=='I')
if (parola.charAt(contatore)=='O')
if (parola.charAt(contatore)=='U')
numeroVocali++;
Così il compilatore intende: se la lettera in posizione contatore è 'a' allora se la lettera in posizione contatore è 'e' allora se la lettera in posizione ecc...
Devi concatenare tutte le condizioni con l'operatore || (or), che verifica se una condizione è vera o una condizione è vera o una condizione è vera ecc...
Poi il while:
codice:
//inizio il ciclo
do
{
contatore++;
....
}
while (contatore>numeroLettere);
Intanto incrementi contatore all'inizio del ciclo, quindi siccome charAt vuole un indice che parta da 0, o all'inizio setti contatore a -1 invece di 0, oppure usi while invece del do-while.
Poi la condizione di ciclo è sbagliata. Tu cicli fin quando contatore è maggiore di numero lettere (cosa impossibile), quindi fa il controllo della 2^ lettera (perchè contatore diventa 1) ed esce subito dal ciclo.