我需要找到用户输入的字符串中的所有元音字母,然后在屏幕上打印元音字母最多的单词。
该程序使用用户输入。
用户输入一串小写的单词。
例如
"I like java programming"
它应该读出:
programming
我尝试将字符串拆分成不同的词,这很有效。
我只是不知道如何应用“for”循环来搜索不同的词。
我需要在方法中工作,所以这是我用来在字符串中查找元音的方法:
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);
}
}
}
但我知道这行不通。 你们能帮帮我吗?
最佳答案
public class MaxVowels {
public static void main(String[] args) {
String sentence = "This is a loooooooooong sentence";
int maxVowelCount = 0;
String wordsWithMostVowels = null;
String[] words = sentence.split(" ");
for(String word : words){
int vowelCount = 0;
word = word.toLowerCase();
for(int i = 0; i < word.length() ; i++){
char x = word.charAt(i);
if(x == 'a' || x == 'e' || x == 'i' ||
x == 'o' || x == 'u'){
vowelCount++;
}
}
if(vowelCount > maxVowelCount){
maxVowelCount = vowelCount;
wordsWithMostVowels = word;
}
}
System.out.println("Word with most vowels is: " + wordsWithMostVowels);
}
}
代码相当简单,无需解释 =)
该代码忽略了两个单词具有相同数量的元音的情况。在这种情况下,第一个单词将用作元音最多的单词。
关于java - 如何在字符串中找到元音字母,并在屏幕上打印出元音字母最多的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19986654/