华为OD机试真题B卷 Java 实现【统计字符】,附详细解题思路

news/2024/11/28 22:34:33/

在这里插入图片描述

一、题目描述

输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。

数据范围:输入的字符串长度满足 1 \le n \le 1000 \1≤n≤1000 。

二、输入描述

输入一行字符串,可以有空格。

三、输出描述

统计其中英文字符,空格字符,数字字符,其他字符的个数。

四、解题思路

  1. 读取输入的一行字符串 s;
  2. 初始化变量 letters、spaces、digits 和 others 分别表示英文字母、空格、数字和其他字符的个数,初始值都为 0;
  3. 使用循环遍历字符串 s的每个字符:
    • 如果字符是英文字母,使用 Character.isLetter© 判断,将 letters 自增 1;
    • 如果字符是数字,使用 Character.isDigit© 判断,将 digits 自增 1;
    • 如果字符是空格,使用 Character.isSpaceChar© 判断,将 spaces 自增 1;
    • 如果字符不是英文字母、数字或空格,则将 others 自增 1;
  4. 循环结束后,输出 letters、spaces、digits 和 others 的值,分别表示英文字母、空格、数字和其他字符的个数;

五、Java算法源码

public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while (scanner.hasNext()) {String s = scanner.nextLine();//统计其中英文字符,空格字符,数字字符,其他字符的个数int letters = 0;int spaces= 0;int digits = 0;int others = 0;int len = s.length();for(int i = 0; i < len; i++){char c = s.charAt(i);if(Character.isLetter(c)){letters++;}else if(Character.isDigit(c)){digits++;}else if(Character.isSpaceChar(c)){spaces++;}else{others++;}}// 统计其中英文字符,空格字符,数字字符,其他字符的个数System.out.println(letters);System.out.println(spaces);System.out.println(digits);System.out.println(others);}
}

六、效果展示

在这里插入图片描述


🏆下一篇:华为OD机试真题 Java 实现【组合出合法最小数】【2023Q1 200分】,附详细解题思路

🏆本文收录于,华为OD机试2023(Java)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。

在这里插入图片描述


http://www.ppmy.cn/news/104991.html

相关文章

AI一点通:李彦宏说未来50%人和提示工程打交道,吴恩达最新提示工程课程总结!

越来越多的人意识到掌握提示工程的重要性&#xff0c;这种使用语言&#xff08;例如英语&#xff09;进行编码的新方法。 一些大型科技公司的首席执行官甚至预测&#xff0c;未来一半的工作将以即时工程为基础。 那么如何有效地与prompty engineering合作呢&#xff1f;最近&a…

机器学习常识 8: kMeans

摘要: k k kMeans 是数据分布未知时最合适的聚类算法. 1. 基本思想 最大化簇的内聚性 (即同一簇的点距离较近), 最小化簇间的耦合性 (即不同簇的点距离较远). 其优化目标可以写为 min ⁡ ∑ i d ( x i , c ( x i ) ) , (1) \min \sum_i d(x_i, c(x_i)), \tag{1} mini∑​d(…

Gradle使用教程完整分享【2023年更新】

Gradle是一个基于Apache Ant和Apache Maven概念的自动化构建工具。它是一个灵活、功能强大的构建工具&#xff0c;用于构建、测试和部署软件项目。 以下是Gradle的一些具体应用&#xff1a; 1. 项目构建&#xff1a;Gradle主要用于构建软件项目。它可以管理项目中的依赖关系、编…

PHPMySQL基础(二):通过PHP对MySQL进行增、删、改、查

PHP&MySQL基础&#xff08;一&#xff09;:创建数据库并通过PHP进行连接_长风沛雨的博客-CSDN博客 前面创建了一个数据库和表&#xff0c;并且用 mysqli()实例化了一个连接对象$link 这篇记一下怎么用实例化对象去对表进行一个增删改查操作 目录 一、连接数据库&#xf…

Flume实现Kafka数据持久化存储到HDFS

写在前面&#xff1a;博主是一只经过实战开发历练后投身培训事业的“小山猪”&#xff0c;昵称取自动画片《狮子王》中的“彭彭”&#xff0c;总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域&#xff0c;如今终有小成…

简洁架构之道_读书笔记

1. 编程范式 1.结构化编程 Bohm和jocopini证明了可以使用顺序结构、分支结构、循环结构构造出任何程序 goto是有害的 顺序结构、分支结构和循环结构均可以证明其正确性&#xff0c;并且用这三种结构可以构造出任何程序。那么这就意味着可以将模块可以按功能进行降解拆分为…

EMNLP - 征集系统演示

Call For System Demonstrations - EMNLP 2023 EMNLP 2023 系统演示计划委员会邀请演示计划的提案。演示范围从早期研究原型到成熟的生产就绪系统。特别感兴趣的是公开可用的开源或开放访问系统。鉴于自然语言处理领域的理论和应用研究的现状&#xff0c;我们还强烈鼓励展示技术…

java.awt.datatransfer.Clipboard剪切板复制粘贴String

java.awt.datatransfer.Clipboard剪切板复制粘贴String java.awt.Toolkit 是一个可用来获取操作剪切板的工具 Toolkit toolkit Toolkit.getDefaultToolkit(); 获得 tookit Clipboard systemClipboard toolkit.getSystemClipboard(); 获得操作系统级的剪切板 Toolkit toolk…