如何在给定的句子中分别找到辅音和元音的数量

时间:2012-07-08 03:56:32

标签: c

如何添加到下面的现有程序?我需要能够找到辅音,单词,空格和特殊字符的数量。我已经有了元音?

import java.lang.String;
import java.io.*;
import java.util.*;

public class CountVowels
{
    public static void main(String args[])throws IOException
    {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Enter the String:");
        String text = bf.readLine();
        int count = 0;
        for (int i = 0; i < text.length(); i++) {
            char c = text.charAt(i);
            if (c=='a' || c=='e' || c=='i' || c=='o' || c=='u') {
                count++;
            }
        }
        System.out.println("The number of vowels in the given sentence are " + count);
    }
}

1 个答案:

答案 0 :(得分:1)

由于这是作业,我不打算为你编写代码,而是给出一些想法。

  1. 辅音。您已经计算了元音的数量。根据定义,不是元音的一切都是辅音。 (当然,不包括空格和标点符号。)或者,当然,你可以像计算元音一样计算它们,通过精确列出要匹配的字母。

  2. 字词和空格。如果您知道空格数,则可以知道单词的数量。每两个单词之间有一个空格,所以单词数是空格数加一。

  3. 特殊字符。如果一封信不是辅音或元音或空格,那就是别的东西 - 在这种情况下,我假设一个“特殊字符”。因此,如果您将所有元音,辅音和空格相加,并从输入的总长度中减去该数字,您将拥有特殊字符的数量。

  4. 此外,在上面发布的代码中,您只检查小写元音。这很好,但首先你要将输入字符串转换为小写,如下所示:text.toLowerCase()

    您可能需要考虑编写一系列方法,如下所示:

    private boolean isConsonant(char x) { ... }
    private boolean isVowel(char x) { ... }
    private boolean isWhitespace(char x) { ... }
    

    然后当你遍历输入字符串的字符时,你可以简化你的这个 - 这个[某事]?检查。

    最后,您需要为不同的“类型”保留单独的计数器。因此,您可能不仅仅需要int count,而是int vowelCountint consonantCountint spaceCount