统计字符串中的英文字母、中文、数字、标点符号的个数的练习题

题目: 统计字符串中的英文字母、中文、数字、标点符号的个数的练习题

实现思路:

1.初始化:

  • 定义一个HashMap(名为map)来存储四种字符的统计结果。这四种字符分别是:英文字母、中文、数字和标点符号。

2.遍历字符串:

  • 使用for循环遍历字符串str中的每个字符。
  • 对于每个字符,执行以下判断:

3.判断字符类型:

  • 如果字符是大写或小写英文字母(即位于'A'到'Z'或'a'到'z'之间),则增加"letters"的计数。这是通过获取当前"letters"的计数,增加1,然后重新存入map来实现的。
  • 如果字符是数字(即位于'0'到'9'之间),则增加"numbers"的计数。直接存入map来实现的。
  • 如果字符是中文字符(Unicode码位于0x4e00到0x9fa5之间),则增加"chinese"的计数。直接存入map来实现的。
  • 如果字符既不是英文字母、数字和中文字符,那么它被视为标点符号,增加"flags"的计数。直接存入map来实现的。
package com.ztt.Demo02;import java.util.HashMap;public class demo13 {public static void main(String[] args) {//统计英文字母、中文、数字、标点符号的个数String str = "OMG,你们的中英混搭真是各有千秋,但Someone丝毫掩盖不了你们那硬朗的英语底子!For eg.papi酱真的very有才华啊,哦买噶的,U6666666!!!罢特,someone也是成功地掩盖了自己小学程度的英语水平!这样式的,I是不会use的,because l hate 这种人very much~";//将统计结果,保存到mapHashMap<String, Integer> map=new HashMap<String, Integer>();
//		map.put("letters", 0);
//		map.put("numbers", 0);
//		map.put("chinese", 0);
//		map.put("flags", 0);//遍历字符串,判断每个字符for(int i=0;i<str.length();i++) {//获取一个字符char c=str.charAt(i);if(c>='A'&& c<='Z'||c>='a'&& c<='z') {//获取原来的统计数值int oldValue=map.getOrDefault("letters",0);//在原来的统计数值基础上,自增1int newValue=oldValue+1;//重新保存map.put("letters", newValue);}else if(c>='0'&& c<='9'){map.put("numbers", map.getOrDefault("numbers",0)+1);}else if(c>=0x4e00 && c<=0x29fa5){map.put("chinese", map.getOrDefault("chinese",0)+1);}else {map.put("flags", map.getOrDefault("flags",0)+1);}}System.out.println(map);}
}

 运行结果:

{chinese=79, flags=13, numbers=7, letters=55}
public class demo07 {public static void main(String[] args) {// 遍历一个字符串,并统计英文字母 汉字 数字 标点符号的个数String str="String str = \"OMG,你们的中英混搭真是各有千秋,但Someone丝毫掩盖不了你们那硬朗的英语底子!For eg.papi酱真的very有才华啊,哦买噶的,U6666666!!!罢特,someone也是成功地掩盖了自己小学程度的英语水平!这样式的,I是不会use的,because l hate 这种人very much~\";";//每个字符分类都定义一个计数器变量int letters=0,numbers=0,chs=0,flags=0;for(int i=0,len=str.length();i<=len-1;i++) {//获取当前字符串char c=str.charAt(i);//判断当前字符的分类if(c>='A'&& c<='Z'||c>='a'&& c<='z') {//英文字母letters++;}else if (c>=0x4e00 && c<= 0x29fa5) {//汉字chs++;}else if(c>='0'&& c<='9') {//数字numbers++;}else {//标点符号flags++;}}System.out.println("英文字母"+letters);System.out.println("汉字"+chs);System.out.println("数字"+numbers);System.out.println("标点符号"+flags);
}
}

 运行结果:

英文字母64
汉字79
数字7
标点符号20

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/648814.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

索引是越多越好吗?

索引并不是“越多越好”。虽然索引对于提高数据库查询的速度至关重要&#xff0c;但过多的索引也会带来一些负面影响。理解索引的适当使用和潜在的代价是数据库设计和性能调优的关键部分。以下是索引数量的权衡&#xff1a; 索引的优势&#xff1a; 提高查询速度&#xff1a;索…

Ultraleap 3Di示例Interactable Objects组件分析

该示例代码位置如下&#xff1a; 分析如下&#xff1a; Hover Enabled&#xff1a;悬停功能&#xff0c;手放在这个模型上&#xff0c;会触发我们手放在这个模型上的悬停功能。此时当手靠近模型的时候&#xff0c;手的模型的颜色会发生改变&#xff0c;反之&#xff0c;则不会…

工具记录篇

个人喜欢&#xff0c;但是很少用到的工具&#xff0c;记录一下。20240126起草 那些找不到官网的、官网现版本不好用的 就用某度云和blue奏云盘存&#xff08;限制100M以内&#xff09;了。 部分内容是从各大网站上看到的&#xff0c;小破站、系统迷、52pj等。 本帖是方便自己使…

Java服务端使用freemarker+wkhtmltoimage生成Echart图片

目录 1.通过 freemarker 将ftl转成html 1.1 freemarker 手册: 1.2 添加freemarker maven依赖 1.3 添加 echart-test.ftl 模版文件 1.4 添加 FreemarkerTool 工具类 1.5 添加测试main方法 1.6 运行,生成echart-test-时间戳.html 文件 2. 通过wkhtmltoimage将html 转为p…

数位dp,HDU 4151 The Special Number

一、题目 1、题目描述 In this problem, we assume the positive integer with the following properties are called ‘the special number’: 1) The special number is a non-negative integer without any leading zero. 2) The numbers in every digit of the special nu…

763. 划分字母区间 - 力扣(LeetCode)

题目描述 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段&#xff0c;同一字母最多出现在一个片段中。 注意&#xff0c;划分结果需要满足&#xff1a;将所有划分结果按顺序连接&#xff0c;得到的字符串仍然是 s 。 返回一个表示每个字符串片段的长度的列表。…

股票交易维度和概念

股票&#xff1a;股份公司为筹集资金而发行给各个股东作为持股凭证并借以取得股息和红利的一种有价证券 好处&#xff1a;分红、送股配股、交易收益、本金少、易变现、避免货币贬值 金融标的投资风险与收益 股票分类 蓝筹股 经营业绩长期稳定增长的大公司&#xff0c;一般是…

IaC基础设施即代码:Terraform 连接 azure Blob 实现多资源管理

目录 一、实验 1.环境 2.Terraform 连接 azure Blob 3.申请虚拟网络资源 4.申请子网资源 5.申请安全组资源 6.申请公网IP与网络接口资源 7.申请虚拟机资源 8.申请负载均衡器 9.销毁资源 二、问题 1.存储无法删除 一、实验 1.环境 &#xff08;1&#xff09;主机 表…

【mongoDB】文档 CRUD

目录 1.插入文档 批量插入&#xff1a; 2.查询文档 3.更新文档 4.删除文档 deleteOne() deleteMany() findOneAndDelete() 1.插入文档 可以使用 insert () 方法或者 save() 方法向集合中插入文档 语法如下&#xff1a; db.collection_name.insert(document) collectio…

6.2第三次作业

综合练习&#xff1a;请给openlab搭建web网站 网站需求&#xff1a; 1.基于域名www.openlab.com可以访问网站内容为welcome to openlab!!! 2.给该公司创建三个子界面分别显示学生信息&#xff0c;教学资料 和缴费网站&#xff0c;基于&#xff0c;www.openlab.com/data网站…

css垂直水平居中(父元素宽高有无情况)+ flex用法

垂直水平居中----6种方法 知道父元素具体宽高时&#xff1a; 父元素设置display:flex, 子元素设置 margin:auto.父元素相对定位&#xff0c;子元素绝对定位 4个属性都设置0&#xff0c;再设置margin:auto.父元素相对定位&#xff0c;子元素绝对定位&#xff0c;left:50%,top:…

sql管理工具archery简介

在平时的工作过程中&#xff0c;我们肯定会遇到使用sql平台的场景&#xff0c;业内也有很多工具&#xff0c;类似阿里云的dms&#xff0c;但是这个是和云厂商绑定的&#xff0c;我们可能一般没有用到阿里云组件就比较困难了&#xff0c;那还有什么选项了&#xff0c;经过调研&a…

leetcode常见错误

2024年1月26日 Line 1037: Char 34: runtime error: addition of unsigned offset to 0x503000000070 overflowed to 0x50300000006c (stl_vector.h) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c…

redis主从复制薪火相传

一.主从复制 1、是什么 主机数据更新后根据配置和策略&#xff0c; 自动同步到备机的master/slaver机制&#xff0c;Master以写为主&#xff0c;Slave以读为主 2、能干嘛 读写分离&#xff0c;性能扩展&#xff08;主 写 从 读&#xff09; 容…

yolov5转onnx到ncnn

测试代码6.2 检测这一套都没啥说的主要在onnx转ncnn这步 python export.py --data data/xuehua.yaml --weights runs/train/exp4/weights/best.pt --trainpython -m onnxsim runs/train/exp4/weights/best.onnx runs\train\exp4\weights\best-sim.onnx(这步重要)&#xff0c;如…

字符串学习笔记

一、字符串的概念 字符串是一种在编程中常用的数据类型&#xff0c;用于表示文本数据。在 Python 中&#xff0c;字符串是不可变的序列&#xff0c;可以包含字母、数字、符号等字符。Python 允许使用单引号 () 或双引号 (") 来创建字符串。 strOne string strTwo &quo…

Python学习从0到1 day9 Python函数

苦难是花开的伏笔 ——24.1.25 函数 1.定义 函数&#xff1a;是组织好的&#xff0c;可重复使用的&#xff0c;用来实现特定功能的代码段 2.案例 在pycharm中完成一个案例需求&#xff1a;不使用内置函数len&#xff08;&#xff09;&#xff0c;完成字符串长度的计算 #统计字…

实习记录——第四天

今天还是学了一天&#xff1a; 我的日报&#xff1a; 1.25日总结&#xff1a; 一、完成三道CTF题目&#xff1a; 信息收集题目&#xff0c;目录扫描&#xff0c;但是我的工具没扫出来&#xff0c;往工具字典里加入了字段&#xff1b;sql注入题目&#xff0c;考察布尔盲注&…

网站无法通过域名访问有哪些原因?

如果网站无法通过域名访问&#xff0c;可能涉及多个方面的问题。以下是一些可能导致这种情况的原因和解决方法&#xff1a; 域名解析问题&#xff1a; DNS配置错误&#xff1a; 检查域名的DNS配置是否正确&#xff0c;确保域名解析到正确的IP地址。 DNS缓存问题&#xff1a; 如…

[go] 中介者模式

设计模式 中介者模式是一种行为设计模式&#xff0c; 能让你减少对象之间混乱无序的依赖关系。 该模式会限制对象之间的直接交互&#xff0c; 迫使它们通过一个中介者对象进行合作。 模型说明 组件&#xff08;Component&#xff09;是各种包含业务逻辑的类。每个组件都有一个…