Comment puis-je trouver les voyelles dans une chaîne de caractères, et d'imprimer le mot avec la plupart des voyelles sur l'écran?
J'ai besoin de trouver toutes les voyelles d'un utilisateur en entrée de chaîne, puis imprimer le mot avec la plupart des voyelles sur l'écran.
Le programme utilise la saisie de l'utilisateur.
L'utilisateur tape dans une chaîne de mots en minuscules.
par exemple,
"J'aime programmation java"
et il devrait lire:
programmation
J'ai essayé de fractionnement de la chaîne dans des mots différents, et qui fonctionne.
Seulement je ne sais pas comment appliquer une boucle "for" pour effectuer une recherche dans les différents mots.
J'ai besoin de travailler dans les méthodes, c'est donc la méthode que j'ai utilisé pour trouver des voyelles dans la chaîne:
public void findvowel(){
for(int index = 0;index < word.length();index++){
char vowel = word.charAt(index);
if( (vowel == 'a')||
(vowel == 'e')||
(vowel == 'i')||
(vowel == 'o')||
(vowel == 'u')){
System.out.println(vowel);
}
}
}
Mais je sais que cela ne fonctionne pas.
Pouvez vous m'aider?
- J'ai peut-être raté quelque chose d'évident, mais cette fonction semble que ça devrait bien fonctionner. Cependant, vous voudrez peut-être faire clair où l'
word
variable vient de. Je me serais attendu à être un argument pour lafindvowel
méthode. - Pourquoi pensez-vous que cela ne fonctionne pas?
- Pouvez-vous montrer une simple entrée et la sortie attendue de ce que vous cherchez?
- Dernièrement, les gens sont à poster code de travail et de voir les insectes imaginaires.
- Si vous voulez count un certain nombre de voyelles, puis créer une variable pour le tenir, l'initialiser à zéro et l'incrémenter à l'intérieur de votre
if
. - Comparer les OP du code des obligations. Le code s'exécute, mais qu'il ne l' résultat?
Vous devez vous connecter pour publier un commentaire.
Le code est assez simple et ne nécessite aucune explication =)
Le code ignore le cas où les deux mots ont le même nombre de voyelles. Dans ce cas, le premier mot sera utilisé en tant que mot avec la plupart des voyelles.
Cela devrait être un bon point de départ; noter que le nom de la méthode maintenant dit vraiment ce qu'il fait -
Vous allez dans la bonne direction. Peu de choses:
Vous n'avez pas besoin d'imprimer des voyelles. Vous serez comptage du nombre de voyelles dans tous les mots. Comme vous le ferez un mot à la fois, vous voulez vous souvenir de ce qui compte pour les mots qui sont venus plus tôt. Une meilleure stratégie est de se rappeler que le mot ayant au maximum le nombre des voyelles. Chaque fois que vous trouvez un mot de plus voyelles, vous mettez à jour votre résultat.
Vous pouvez utiliser champs de se rappeler le mot avec le maximum de nombre de voyelles avec le nombre:
Supposons dans cet exemple que vous travaillez sur un seul
word
. Vous avez besoin d'un local variable pour garder un nombre de voyelles dans ceword
.Enfin le vérifier pour voir si ce nombre est supérieur au maximum de ce que nous avons jusqu'à présent. Mettre à jour les champs si c'est le cas:
Une autre astuce de ce qui suit. Pour vérifier si un caractère
c
est une voyelle, vous pouvez:Votre findVowel() la méthode est presque là. Pourquoi êtes-vous de la sortie des voyelles lorsque vous êtes censé de les compter à la place? Au lieu de findVowel(), je pense que vous voulez quelque chose qui s'appelle countVowels() qui renvoie le nombre de voyelles dans un mot. Quelque chose comme ceci:
de cette façon, vous pouvez appeler countVowels() sur chaque mot de la phrase, et de garder trace de la parole avec la plupart des voyelles jusqu'à présent.
Ex:
Hey j'ai une certaine réponse Différente-----
}