java - 打印字符串中唯一元音的数量,Java

标签 java string

我需要找出不同元音的数量。我想出了下面的代码,但它不能区分相同的元音:

public static int count_Vowels(String str) {
    str = str.toLowerCase();
    int count = 0;
    for (int i = 0; i < str.length(); i++) {
        if (str.charAt(i) == 'a' || str.charAt(i) == 'e' || str.charAt(i) == 'i'
                || str.charAt(i) == 'o' || str.charAt(i) == 'u') {
            count++;
        }
    }
    return count;
}

最佳答案

我将从五个变量(每个元音一个)设置为 0 开始,迭代输入中的字符,如果我找到一个,则将相应的变量设置为 1匹配,并简单地返回所述变量的累加值。喜欢,

public static int count_Vowels(String str) {
    int a = 0, e = 0, i = 0, o = 0, u = 0;
    for (char ch : str.toLowerCase().toCharArray()) {
        if (ch == 'a') {
            a = 1;
        } else if (ch == 'e') {
            e = 1;
        } else if (ch == 'i') {
            i = 1;
        } else if (ch == 'o') {
            o = 1;
        } else if (ch == 'u') {
            u = 1;
        }
    }
    return a + e + i + o + u;
}

关于java - 打印字符串中唯一元音的数量,Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49038048/

相关文章:

java - 从适配器向模型数组对象添加值

Java 字符串在打印时终止

java - 我们如何在 Java 中关闭 hsqldb 数据库

java - JPA Map<String,String> 与 xml 映射

Javascript 正则表达式 : replacing $1 with f($1)

c# - 将 sprintf 转换为 C# 的问题

c# - 获取 SubDir 作为字符串返回类型

Java正则表达式匹配并用相同长度的字符替换匹配组

python - Python 计算器最少击键次数问题

string - 从标准输入读取时,Nil指针取消引用行为