我有一个程序提供以下输出:
输入句子:我是java的新手
我
上午
新
到
的java
元音数量:我是java = 6的新手
我的问题是我需要在用户输入的句子的每个单词中获取元音。
例如输出应该是这样的:
输入句子:我是java的新手
我(1)
上午(1)new(1)
到(1)
java(2)
元音数量:我是java = 6的新手
我使用.split()来分隔输入的句子并切换/.charAT语句以进行元音检查。
有人可以帮我实现这个结果吗?
答案 0 :(得分:2)
整个解决方案只需要几行代码:
for (String word : sentence.split(" +"))
System.out.println(word + " (" +
word.replaceAll("[^aeiouAEIOU]", "")
.length() + ")");
它的工作方式是调用replaceAll()
删除所有非元音,所以剩下的只是元音,那么你只需要取这个元音字符串的长度。
答案 1 :(得分:1)
我建议构建一个String并循环遍历每个char并检查元音。
String test = "I am new to Java";
int vowels = 0;
for (char c: test.toLowerCase().toCharArray()){
if(c == 'a' || c =='e' || c=='i' || c=='o' || c=='u' ){
vowels++;
}
}
System.out.println(test + " Contains: " +vowels +" Vowels");
答案 2 :(得分:0)
String n = "I am in Madurai";
int count = 0;
char c[] = new char[n.length()];
n.getChars(0, n.length, c, 0);
for(int i = 0; i < c.length; i++) {
if (c[i] == 'a' || c[i] == 'e' || c[i] == 'i' || c[i] == 'o' || c[i] == 'u')
count++;
}
System.out.println("Number of vowels in a given sentence: " + count);
<强>输出:强>
Number of vowels in a given sentence: 7