-1

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

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

1 回答 1

1

由于这是家庭作业,我不会为您编写代码,而是提供一些想法。

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

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

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

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

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

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

然后,当您遍历输入字符串的字符时,您可以简化您的 is-this-a-[something]? 检查。

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

于 2012-07-08T04:14:49.987 回答