春风秋雨后 2021-10-10 00:22 采纳率: 66.7%
浏览 9

这个ifConsonant方法的运算结果是错误的?


import java.util.Scanner;

/*
 * 计算字符串中元音,辅音,数字和空格的数量
 */
public class NumberOfChar {
    private int vowel;
    private int consonant;
    private int number;
    private int space;
    private String lines = "13c f efffu os we ef sds sdfsd261  4513";
    private char[] vowels = new char[] { 'a', 'e', 'i', 'o', 'u' };

    /*
     * 输入你要查找的字符串
     */
    public void getInput() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入字符串");
        lines = scanner.next();
    }

    /*
     * 计算字符串中元音的个数
     */
    public int ifVowel(String lines) {
        for (int i = 0; i < lines.length(); i++) {
            for (int j = 0; j < vowels.length; j++) {
                if (lines.charAt(i) == vowels[j]) {
                    vowel++;
                }
            }
        }
        return vowel;
    }

    /*
     * 计算字符串中辅音的个数
     */
    public int ifConsonant(String lines) {
        for (int i = 0; i < lines.length(); i++) {
            for (int j = 0; j < vowels.length; j++) {
                if(lines.charAt(i) >= 'a' && lines.charAt(i) <= 'z' && lines.charAt(i) != vowels[j]) {
                    consonant++;
                }

            }
        }
        return consonant;
    }

    /*
     * 计算字符串中数字的个数
     */
    public int ifNumber(String lines) {
        for (int i = 0; i < lines.length(); i++) {
            for (char j = '0'; j <= '9'; j++) {
                if (lines.charAt(i) == j) {
                    number++;
                }
            }

        }
        return number;
    }

    /*
     * 计算字符串中空格的个数
     */
    public int ifSpace(String lines) {
        for (int i = 0; i < lines.length(); i++) {
            if (lines.charAt(i) == ' ') {
                space++;
            }
        }
        return space;
    }

    public static void main(String[] args) {
        NumberOfChar numberOfChar = new NumberOfChar();
//        numberOfChar.getInput();
        System.out.println(numberOfChar.lines + " 字符串中元音的个数为:" + numberOfChar.ifVowel(numberOfChar.lines));
        System.out.println(numberOfChar.lines + " 字符串中辅音的个数为:" + numberOfChar.ifConsonant(numberOfChar.lines));
        System.out.println(numberOfChar.lines + " 字符串中数字的个数为:" + numberOfChar.ifNumber(numberOfChar.lines));
        System.out.println(numberOfChar.lines + " 字符串中空格的个数为:" + numberOfChar.ifSpace(numberOfChar.lines));
    }
}

运行结果:

img

  • 写回答

1条回答 默认 最新

  • 想上天的狗 2021-10-10 00:37
    关注

    嗯,一个字母不是辅音的话会被算五次

    评论

报告相同问题?

问题事件

  • 创建了问题 10月10日

悬赏问题

  • ¥15 12864只亮屏 不显示汉字
  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。
  • ¥30 求给定范围的全体素数p的(p-2)/p的连乘积值
  • ¥15 VFP如何使用阿里TTS实现文字转语音?
  • ¥100 需要跳转番茄畅听app的adb命令