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

如何计算Java中字符串中辅音的数量?

佟阳云
2023-03-14

我正在编写一个程序,计算用户输入的句子中元音和辅音的数量。我下面的代码计算元音的数量,但它为辅音计数提供了奇怪的数字。例如,如果我输入“g”,我得到的辅音计数是10。

import java.util.Scanner;

public class VowelCount{
  public static void main(String[] args){
    Scanner scan = new Scanner(System.in);
    System.out.print("Enter a sentence :");
    String sentence = scan.nextLine();

    String vowels = "aeiouAEIOU";
    int vowelCount = 0;
    int consCount = 0;
    int i;

      for(i = 0; i < sentence.length(); i += 1){
        char currentChar = sentence.charAt(i);
        int index;
        for(index = 0; index < vowels.length(); index += 1){
          if(vowels.charAt(index) == (currentChar)){
            vowelCount++;
          }else if(Character.isLetter(currentChar) && (vowels.charAt(index) == (currentChar))){
            consCount++;
          }
        }
      }
      System.out.println(consCount);
      System.out.println(vowelCount);
  }   
}

共有3个答案

习阳
2023-03-14

在那一行中:否则if(Character.is字母

else if(Character.isLetter(currentChar)){

谭桐
2023-03-14

这是最终的解决方案伙计们:)

import java.util.Scanner;

public class VowelConsCount
{ public static void main(String args[])
    { System.out.print("Enter a sentence :");
      Scanner in = new Scanner(System.in);
      String sentence = in.nextLine();

      String vowels = "aeiouAEIOU";
      int vowelCount = 0;
      int consCount = 0;
      int i;

      for(i = 0; i < sentence.length(); i ++)
         { char currentChar = sentence.charAt(i);
           if (vowels.indexOf(currentChar)>=0)
                vowelCount++;
           else if(Character.isLetter(currentChar))
                consCount++;
         }
      System.out.print("\nNumber of vowels is "+vowelCount);
      System.out.print("\nNumber of consonant is "+consCount);
    }
}
郎河
2023-03-14

这是可行的。我还改进了它,请参见元音。indexOf(而不是手动迭代)和带有isleter(纠正元音的错误检查)的行,并输出(添加)和i。

public class VowelCount{
  public static void main(String[] args){
    Scanner scan = new Scanner(System.in);
    System.out.print("Enter a sentence :");
    String sentence = scan.nextLine();

    String vowels = "aeiouAEIOU";
    int vowelCount = 0;
    int consCount = 0;
    int i;

    int length = sentence.length();
    for(i = 0; i < length; i ++){
        char currentChar = sentence.charAt(i);
        if (vowels.indexOf(currentChar)>=0)
           vowelCount++;
        else if(Character.isLetter(currentChar))
                consCount++;
    }
    System.out.print(consCount+";");
    System.out.print(vowelCount);
  }
}
 类似资料:
  • 我正在研究一个程序,可以计算字符串中元音的数量。我有它的工作,但如果Y后面跟着一个辅音,我就无法计算Y。我的VOWEL_GROUP是“AEIOUAEOU”,它返回普通元音的数量,但不返回“y”。我让它看看charAt(I),看看它是否被元音组中的字符以外的其他字符所取代。谢谢你的帮助。以下是显示错误的输入和输出

  • 问题内容: 需要一些紧凑的代码来计算Java中字符串的行数。该字符串用或分隔。这些换行符的每个实例将被视为一个单独的行。例如 - 应该返回4。原型是 有人可以提供一组紧凑的陈述吗?我想在这里有一个解决方案,但是它太长了。谢谢。 问题答案:

  • 本文向大家介绍如何在Python中从字符串中删除辅音?,包括了如何在Python中从字符串中删除辅音?的使用技巧和注意事项,需要的朋友参考一下 对于此问题,使用正则表达式是最简单的。您可以使用“ |”分隔多个字符 并使用re.sub(chars_to_replace,string_to_replace_with,str)。例如: 注意:您也可以使用[]创建要在正则表达式中替换的字符组。 如果只想保

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

  • 问题内容: 我正在做一个作业,在该作业中,我必须编写程序以读取用户的字符串,并打印出字符串中出现次数的字母。 例如,“ Hello world”应该打印出“ h = 1 e = 1 l = 3 o = 2 …等”,但是我只写“ hello world”和字母总数。 我不能使用hashmap函数,只能使用数组。有人可以给我一两个提示,提示如何从下面的书面代码继续进行操作以获得我的首选功能?我不完全了

  • 问题内容: 我有一个类似下面的字符串行: A:B:C:D:E:F:G:H:I:J:K:L:M 这意味着定界符(:)的计数为12。这行是有效的。 现在假设您有以下一行: A:B:C:D:E:F:G:H ::::: 这行也是有效的,因为它包含12个定界符。其中存在8个值,而4个值为空白。 现在,以下行应该无效: A:B:C:D:E:F:-无效-因为它仅包含6个值,但预期为12个。 这该怎么做 .. ?