当前位置: 首页 > 知识库问答 >
问题:

如何计算一个字符串中的元音,包括哪些有重音符号?

韦睿
2023-03-14

首先,请原谅我英语不好。这不是我的母语(这是我的问题之一,稍后你会看到原因)。

我正在Java中制作一个方法,建议计算字符串的元音。输入来自windows提示符,因为我分别使用javac和java命令编译和执行。

我已经写了一些代码来解决这个问题,但我无法计算带有重音符号的元音。例如。当我尝试“canción”时,它的输出只计算 2 个元音。

public static int countVowels(String text){
    int answer = 0;
    String test = "AEIOUaeiou";
    for (int i = 0; i < text.length(); i++)
        for (int j = 0; j < test.length(); j++)
            if (text.charAt(i) == test.charAt(j))   {
                answer++;
                break;
            }
    return answer;
}

public static void form() {
    Scanner in = new Scanner(System.in);
    System.out.println("This program counts the number of vowels.");
    int answer = 0;
    String text = "";
    while (!text.equals("-1"))  {
        System.out.print("Enter a line of text (-1 to exit): ");
        text = in.nextLine();
        answer = Character.countVowels(text);
        System.out.println("Number of vowels: " + answer);
    }
    System.out.println("Closing the program...");
} 

我正在使用扫描仪作为输入法。

我尝试比较两个字符串,因为我认为使用< code > if(text . charat(I)= ' A ')很无聊(也许我错了)。

真的我不知道该怎么办。我尝试过使用Ascii值(193=Á),我尝试过在测试字符串<code>字符串测试=“AEIOUaeiouÁÉÚéíóú”中使用带重音符号的去元音

什么都不管用。我会非常感谢能帮助我的人。

PS,我不允许使用数组。

共有1个答案

严安志
2023-03-14

计算“元音”的最简单方法是这个单行:

int vowelCount = str.replaceAll("[^AEIOUaeiouÁÉÍÓÚáéíóú]", "").length();

使用正则表达式查找并删除(用空白替换)所有未列出的字符(通过负字符类)。

 类似资料:
  • 我正在研究一个程序,可以计算字符串中元音的数量。我有它的工作,但如果Y后面跟着一个辅音,我就无法计算Y。我的VOWEL_GROUP是“AEIOUAEOU”,它返回普通元音的数量,但不返回“y”。我让它看看charAt(I),看看它是否被元音组中的字符以外的其他字符所取代。谢谢你的帮助。以下是显示错误的输入和输出

  • 我必须编写一个小程序来删除作为输入的字符串中的重音。我还必须创建一个函数,将每个带重音的字符替换为相应的不带重音的字符,我有一个循环,为main中的每个字符调用该函数: 问题是,如果我在main中提供字符串“é”作为输入,则该字符串被视为大小为2的字符串(参见下面的示例),并且上面的函数被调用两次而不是一次。此外,作为函数输入的char不是正确的。我想我在函数中遇到了相同的大小问题。这个重音不应该

  • JAVA: 编写一个类,其中构造函数接受一个String对象作为其参数。该类应该有一个方法返回字符串中元音的数量,另一个方法返回字符串中辅音的数量。(空格既不计元音也不计辅音,应该忽略。) 在执行以下步骤的程序中演示该类: 要求用户输入字符串 程序显示以下菜单: a、 计算字符串中元音的数量。 b、 数一数字符串中的辅音数 c、 数一数字符串中的元音和辅音 d、 输入另一个字符串 e、 退出程序

  • 问题内容: 如何知道一个字符串是否包含重音? 问题答案: 在列表中添加您想要的任何重音

  • 问题内容: 示例 :说-> Spubeak,更多信息在这里 不要给我一个解决方案,而是指向正确的方向或告诉我可以使用哪个python库?我正在考虑使用正则表达式,因为我必须找到一个元音,但是我可以使用哪种方法在元音前面插入“ ub”呢? 问题答案: 比一个简单的正则表达式更复杂,例如, 简单的正则表达式将无法捕获未在中发音的正则表达式。 您需要一个提供发音词典的库,例如: 例: 输出量 注意:它与

  • 问题内容: 我在做作业时遇到了这个问题(老实说,至少没有试图隐藏它),在解决该问题时遇到了问题。 给定以下声明:字符串短语=“ WazzUp?-谁在第一时间???-IDUNNO”;编写必要的代码以计算字符串中的元音数量,并将适当的消息打印到屏幕上。 这是我到目前为止的代码: 但是,当我运行它时,它只会产生一堆空白行。有人可以帮忙吗? 问题答案: 应该是。 给出的值,然后加1。就像您现在拥有的一样,