如何添加到下面的现有程序?我需要能够找到辅音,单词,空格和特殊字符的数量。我已经有了元音?
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);
}
}
答案 0 :(得分:1)
由于这是作业,我不打算为你编写代码,而是给出一些想法。
辅音。您已经计算了元音的数量。根据定义,不是元音的一切都是辅音。 (当然,不包括空格和标点符号。)或者,当然,你可以像计算元音一样计算它们,通过精确列出要匹配的字母。
字词和空格。如果您知道空格数,则可以知道单词的数量。每两个单词之间有一个空格,所以单词数是空格数加一。
特殊字符。如果一封信不是辅音或元音或空格,那就是别的东西 - 在这种情况下,我假设一个“特殊字符”。因此,如果您将所有元音,辅音和空格相加,并从输入的总长度中减去该数字,您将拥有特殊字符的数量。
此外,在上面发布的代码中,您只检查小写元音。这很好,但首先你要将输入字符串转换为小写,如下所示:text.toLowerCase()
。
您可能需要考虑编写一系列方法,如下所示:
private boolean isConsonant(char x) { ... }
private boolean isVowel(char x) { ... }
private boolean isWhitespace(char x) { ... }
然后当你遍历输入字符串的字符时,你可以简化你的这个 - 这个[某事]?检查。
最后,您需要为不同的“类型”保留单独的计数器。因此,您可能不仅仅需要int count
,而是int vowelCount
,int consonantCount
和int spaceCount
。