我正在编写代码,在我编写并计算它们的句子中找到所有元音'a' 'i' 'u' 'e' 'o'

该代码将忽略元音的大小写(大写或小写)。由于我不知道如何使元音计数不区分大小写,因此我只将所有文本转换为小写并计数元音。我想知道是否还有另一种方法可以不将所有大写字母文本都转换为小写字母并计算元音。谢谢大家的投入,我非常感谢。这是我的代码。

import java.util.Scanner;

public class VowelCount
{
    public static void main(String[] args)
    {
        //create scanner object
        Scanner input = new Scanner (System.in);
        //create vowel array
        char[] vowel = new char[]{'a', 'e', 'i', 'o', 'u'};
        int[] countVowel = new int[5];
        String yourSentence;
        //print message
        System.out.print("Enter your word here:");
        //set word entered as next input
        yourSentence = input.nextLine();
        String actualSentence = yourSentence.toLowerCase();

        for (int j = 0; j < actualSentence.length(); j++)
        {
            char c =actualSentence.charAt(j);
            if(c=='a')
                countVowel[0]++;
            else if(c=='e')
                countVowel[1]++;
            else if(c=='i')
                countVowel[2]++;
            else if(c=='o')
                countVowel[3]++;
            else if(c=='u')
                countVowel[4]++;
        }
        for (int i = 0; i <countVowel.length; i++)
        {
            System.out.println("Count of vowel " + vowel[i] + "=" + countVowel[i]);
        }

    }
}

最佳答案

您最好使用switch语句,因为它非常易读并且可以由编译器轻松优化

yourSentence = input.nextLine();
// String actualSentence = yourSentence.toLowerCase();

for (int j = 0; j < yourSentence.length(); j++)
{
    switch( yourSentence.charAt( j ) ) {
        case 'a':
        case 'A':
            ++countVowel[0];
            break;
        case 'e':
        case 'E':
            ++countVowel[1];
            break;
        case 'i':
        case 'I':
            ++countVowel[2];
            break;
        case 'o':
        case 'O':
            ++countVowel[3];
            break;
        case 'u':
        case 'U':
            ++countVowel[4];
            break;
    }
}

关于java - 查找句子中所有元音的出现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27086402/

10-13 05:00