ch est déclarée comme char (d'ailleurs tu n'as pas besoin de le déclarer dans la classe, mais seulement dans la méthode, et ce serait mieux d'ailleurs).
En Java la double-quote autour d'une expression sert à représenter une chaîne de caractères (donc plusieurs caractères), soit le type String : on ne peut pas comparer un char avec un String, ce que te dis le message d'erreur.
En Java, on représente un caractère avec une simple quote devant et derrière : 'a' et non pas "a".
Attention, parce que après tu écris :
char[] est un tableau de caractères : et tu y mets un seul caractère. La variable est locale au if : elle n'existera pas en dehors du if.
Si ton but est simplement d'afficher les voyelles, tu peux remplacer cette ligne par un System.out.print( ch ). Si tu as besoin d'avoir une présentation un peu particulière du type :
Les voyelles dans le mot "catimini" sont : a, i, i, i.
, il faudra jouer avec des booléens (pour savoir si c'est la première voyelle, donc afficher devant toutes la phrase, ou seulement une virguel...
Ce sera en core plus compliqué si tu veux afficher Les voyelles dans le mot "catimini" sont : a, i.
ou Les voyelles dans le mot "catimini" sont : a et i.
Si ton but est de stocker les voyelles dans un tableau pour pouvoir faire ce genre d'affichage plus tard, ou un traitement quelconque, il faut stocker les valeurs dans les cases d'un tableau qui existe en dehors du if et même de la boucle : donc utiliser un index qu'on incrémente à chaque nouvelle voyelle ajoutée.
1 2 3 4 5 6 7 8 9 10 11 12 13
| int index=0;
char[] voyelles = new char[mot.length]; // le nombre maximal de voyelles dans le mot est bien son nombre de caractères
for(int i=0;i<mot.length();i++){
ch=mot.charAt(i);
if (ch=='a'||ch=='e'||ch=='i'||ch=='o'||ch=='u'||ch=='y'){
voyelles[index++]=ch; // on incrémente index à chaque fois qu'on écrit dans une case, comme ça le coup suivant on écrit dans la case d'après (en plus index est le nombre de voyelles qu'on a mises dans le tableau
}
}
System.out.println("Les voyelles sont :");
for(int i=0;i<index; i++) {
System.out.println(voyelles[i]);
} |
Partager