胡萝贝贝 2021-12-14 15:01 采纳率: 37.5%
浏览 38
已结题

检测英文文本中字母和空格出现的次数

img

  • 写回答

3条回答 默认 最新

  • 俺不理解 2021-12-14 15:16
    关注
    class Test {
        public static void main(String[] args) {
            Test solution = new Test();
            solution.test();
        }
    
        void test() {
            Scanner scanner = new Scanner(System.in);
            System.out.print("Enter a sentence terminated by a full stop:\n>> ");
            String str = scanner.nextLine();
    
            int[] count = new int[27];
            for (char c : str.toCharArray()) {
                if (c == ' ') {
                    count[26] ++;
                } else if (c >= 'a' && c <= 'z') {
                    count[c - 'a']++;
                } else if (c >= 'A' && c <= 'Z') {
                    count[c - 'A']++;
                }
            }
    
            StringBuilder stringBuilder = new StringBuilder();
            stringBuilder.append("Frequency analysis for this sentence:\n");
            for (int i = 0; i < 27; i++) {
                stringBuilder.append(format(i, count[i])).append('\t');
                if ((i + 1) % 5 == 0) {
                    stringBuilder.append('\n');
                }
            }
            System.out.println(stringBuilder);
        }
    
        String format(int i, int count) {
            StringBuilder stringBuilder = new StringBuilder();
            stringBuilder.append(i < 26 ? ((char) ('A' + i)) : "space");
            int len = 0, tmp = count;
            while ((tmp /= 10) > 0) {
                len++;
            }
            while (len++ < 4) {
                stringBuilder.append(' ');
            }
            stringBuilder.append(count).append(';');
            return stringBuilder.toString();
        }
    }
    

    运行结果:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月22日
  • 已采纳回答 12月14日
  • 创建了问题 12月14日

悬赏问题

  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
  • ¥15 Python报错怎么解决
  • ¥15 simulink如何调用DLL文件
  • ¥15 关于用pyqt6的项目开发该怎么把前段后端和业务层分离
  • ¥30 线性代数的问题,我真的忘了线代的知识了
  • ¥15 有谁能够把华为matebook e 高通骁龙850刷成安卓系统,或者安装安卓系统
  • ¥188 需要修改一个工具,懂得汇编的人来。
  • ¥15 livecharts wpf piechart 属性
  • ¥20 数学建模,尽量用matlab回答,论文格式
  • ¥15 昨天挂载了一下u盘,然后拔了