元音计数器并显示该字母

时间:2015-08-14 08:23:13

标签: java

public class vowel {

    public static void main(String args[]) 
    {
        String sentence;
        int vowels = 0, digits = 0, blanks = 0, consonants=0;
        char ch;
        System.out.print("Enter a String : ");
        sentence = TextIO.getln();
        sentence = sentence.toLowerCase();
        for(int i = 0; i < sentence.length(); i ++)
        {
            ch = sentence.charAt(i);

            if(ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u')
                vowels ++;

            else if(ch =='b'|| ch == 'c' || ch == 'd'|| ch =='f' || ch =='g' ||
                    ch == 'h' || ch =='j' || ch =='k'|| ch =='l' || ch =='m' ||
                    ch == 'n' || ch =='p' || ch =='q'|| ch =='r' || ch =='s' ||
                    ch == 't' || ch =='v' || ch =='w'|| ch =='x' || ch =='z' ||
                    ch == 'y')

                consonants ++;
            else if(Character.isDigit(ch))
                digits ++;
            else if(Character.isWhitespace(ch))
                blanks ++;
        }

        System.out.println("Vowels : " + vowels);
        System.out.println("Consonants : " +consonants);
        System.out.println("Digits : " + digits);
        System.out.println("Blanks : " + blanks);
    }
}

这个程序完美地计算,但我希望在函数显示中添加它计数的单词

例如,输入ABBCC12

Vowels :1
Input Vowels : A
Consonants :4
Input Consonants : BBCC
Digits :2
Input Digits :12

我可以知道接下来该做什么吗? 提前致谢

1 个答案:

答案 0 :(得分:1)

看起来最适合您当前工作方式的方法是为每种类型保留StringBuilder

vowelsStringBuilder = new StringBuilder();

然后每当遇到一个,你就把它添加到:

vowelsStringBuilder.append(ch);

最后,您可以使用

String vowelsString = vowelsStringBuilder.toString();

获取包含所有元音的最终String

事实上,如果你这样做,你就不需要像往常一样计算它们,因为你可以用vowelsString.length()得到最后元音的数量。