Pq d'a errado?

eu compilo este codigo,mas qdo executo da errado(quero contar o numero de vogais num String):

class Vogal
{ 
  
  int i;
  int b,a;
  
  void conta(String s)
  {
   
   i=0; 
    
    a=s.length();//devolve o tamanho da string 
    
    
    
    while(i<a)
    { 
      
      
      b=0;
      if(s.charAt(i)=='a')
        b+=1 ;
       
      ++i;
      
    }
    System.out.println(b);
    
    
  }
   
}

qdo executo aparece esta msg:
Lexical error at line 1, column 11. Encountered: “a” (97), after : “'a”[url][list]

[color=“red”]Editado para conter o BBCode CODE - jeveaux[/color]

a variavel a ta como int, poe como char q funciona… mas vai mostrar um resultado incorreto se n for corrigido o erro citado pelo New__Radical

Seja bem-vindo rezendem! :lol:

O que está errado no código, é que b=0 está dentro do while. E ele é para ficar fora.

No mais, está tudo legal.