2010-05-11 7 views
0
public static void ejemplosString(String palabra){ 
     char[] letras = palabra.toCharArray(); 
     int contadorVocales = 0; 

     for (int i = 0; i < letras.length; i++) {    
      if (char[i] == 'a') { 
       contadorVocales++;     
      } 

      if (char[i] == "e") { 
       contadorVocales++;     
      } 

      if (char[i] == "i") { 
       contadorVocales++;     
      } 

      if (char[i] == "o") { 
       contadorVocales++;     
      } 

      if (char[i] == "u") { 
       contadorVocales++;     
      } 
     } 
    } 

Obtention de l'erreur sur chaque instruction If. Des conseils?Obtention d'une erreur cryptique sur mon programme Java simple, en comparant char [i] à une chaîne

Même lors du changement de voyelles à guillemets simples, je reçois toujours cette erreur:

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - unexpected type 
    required: value 
    found: class 
     at practico1.Main.ejemplosString(Main.java:64) 
     at practico1.Main.main(Main.java:34) 
Java Result: 1 

Répondre

6

Votre nom variable est letras pas char

+0

Quelle erreur flagrante. Merci. –

3

Modifier les guillemets autour de vos lettres à des guillemets simples. Il semble que le 'a' soit correct (c'est un littéral de caractère), mais les autres lettres ("e", "i", etc.) sont toutes des littéraux de chaîne.

3

Cordes utilisent un guillemet ", mais caractères utilisent une seule citation '. Puisque vous comparez des caractères, vous devez passer à des guillemets simples. En outre, char[i] n'est pas valide java. Je pense que vous vouliez dire letras[i]

0

Vous ne devriez pas utiliser une méthode .equals() pour comparer des chaînes de caractères?

0

Naveen déjà donné la bonne réponse

Je voulais ajouter que vous pouvez également utiliser le

Java Switch Statement

pour mettre en œuvre cette fonction