我只能找到带有'x'个元音的单词。我需要找到包含至少2个元音的单词数量。
public static void main(String[] args) {
int counter2 =0;
String acc = JOptionPane.showInputDialog("Enter a string:");
String[] words = acc.split(" ");
for(String word : words){
int counter =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'){
counter++;
}
}
if (counter >= 2) {
System.out.println(counter);
答案 0 :(得分:1)
你可以定义另一个计数器,它会计算单词数量,因为你只计算元音数。如下所示:
int numberOfWords = 0;
... for loop
if (counter >= 2) {
numberOfWords++;
}
// print numberOfWords
答案 1 :(得分:0)
当计数器变量的值大于2时,可以使用计数变量并递增计数变量。你会得到一些单词。
你也可能也想考虑资本元音。
答案 2 :(得分:0)
在您的代码中,您需要计算元音的数量,如果它的&gt; = 2,您将打印元音计数器值而不是打印字数。您可以在相同的if条件下跟踪字数
public static void main(String[] args) {
int counter2 =0;
String acc = JOptionPane.showInputDialog("Enter a string:");
String[] words = acc.split(" ");
int wordsWithVowels = 0;
for(String word : words){
int counter =0;
int sum=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'){
counter++;
}
} // end of inner for loop
if (counter >= 2) {
wordsWithVowels++;
}
} // // end of outer for loop
System.out.println("Number of words with 2 or more vowels "+wordsWithVowels);
} // end of main