我想添加一个"计数器"这个布尔方法

时间:2016-01-04 03:58:04

标签: java

现在,正如您所看到的,我正在尝试使用布尔方法。我通过元音检测学会了charAt方法,但我不满意。我想玩它并找出如何为每个发现的元音添加计数。

但是,我不知道如何增加每个元音的数量。

用Bill Lumbergh的明智话来说,如果有人可以帮我弄清楚如何正确地计算这个数量,那么随着每个元音的增加,它会增加,那就是greeeeeeeeeat。

enter image description here

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;
    }
}

2 个答案:

答案 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)

您的代码几乎没有问题:

  • 由于此无效声明,您的代码无法编译:{{1​​}}
  • 当您将字符检查为元音时,您不会增加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.");