首页 > 解决方案 > 返回字符串中的字符,返回辅音问题

问题描述

创建一个程序,读取用户输入的字符串,然后确定并打印每个小写元音(a、e、i、o 和 u)在整个字符串中出现的数量。每个元音都有一个单独的计数器。此外,计算并打印非元音字符的数量。

当我创建我的程序时,元音返回正常,但辅音值总是关闭。假设用户输入“我今天感觉很冷”,程序将辅音的值返回为19,而它应该将其返回为14。你能看看我的程序并帮助我确定为什么返回的辅音值总是错误的吗?

package CharacterCount;

import java.util.Scanner;

public class CharacterCount {
    
    public static void main(String[] args) {
        int a = 0, e = 0, x = 0;
        int o = 0, u = 0, consonant = 0;
        String str;
        
        try (Scanner scan = new Scanner (System.in)) {
            System.out.println("Enter a string");
            str = scan.nextLine();
        }
        
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            
            if (c== 'a' || c== 'A') a++;            
            else if (c== 'e' || c== 'E') e++;           
            else if (c== 'i' || c== 'I') x++;           
            else if (c== 'o' || c== 'O') o++;           
            else if (c== 'u' || c== 'U') u++;       
            else consonant++;   
        }
        
        System.out.println("a: " + a + "\n" +
        "e: " + e + "\n" +
        "i: " + x + "\n" +
        "o: " + o + "\n" +
        "u: " + u + "\n" +
        "consonants:" + consonant);
        
    }
}

标签: java

解决方案


看起来您的程序当前会将空格字符视为辅音...因此您需要在增加辅音变量之前检查空格


推荐阅读