现在,正如您所看到的,我正在尝试使用布尔方法。我通过元音检测学会了charAt方法,但我不满意。我想玩它并找出如何为每个发现的元音添加计数。
但是,我不知道如何增加每个元音的数量。
用Bill Lumbergh的明智话来说,如果有人可以帮我弄清楚如何正确地计算这个数量,那么随着每个元音的增加,它会增加,那就是greeeeeeeeeat。
import java.util.Scanner;
public class Chap10Part4p2 {
public static void main(String[] args) {
String sentence;
int count = 0;
Scanner inputSentence = new Scanner(System.in);
System.out.println("Please enter a sentence.");
sentence = inputSentence.nextLine();
for (int i = 0; i < sentence.length(); i++)
if (isVowel(sentence.charAt(i)))
System.out.print(sentence.charAt(i));
else if (i < sentence.length(); sentence.equals(isVowel);)
count++;
System.out.println(" There are " + count + " vowels in this sentence.");
}
static boolean isVowel(char c) {
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')
return true;
else
return false;
}
}
答案 0 :(得分:4)
对于else if语句的目的,它不是100%肯定,它是无效的语法。删除它并将计数放在下面,这将计算总元音。
for(int i = 0; i < sentence.length(); i++) {
if (isVowel(sentence.charAt(i))) {
count++
}
}
System.out.println(" There are " + count + " vowels in this sentence.");
答案 1 :(得分:0)
您的代码几乎没有问题:
else if (i < sentence.length(); sentence.equals(isVowel);)
count
循环之后有{}
,那么它的可读性会更高,这样您就可以准确地看到循环中的语句。替换:
for
使用:
for(int i = 0; i < sentence.length(); i++)
if (isVowel(sentence.charAt(i)))
System.out.print(sentence.charAt(i));
else if (i < sentence.length(); sentence.equals(isVowel);)
count++;
System.out.println(" There are " + count + " vowels in this sentence.");