Java50道经典习题-程序7 处理字符串
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
分析:利用while语句,条件为输入的字符不为'\n'.
1 import java.util.*; 2 public class Prog7{ 3 public static void main(String[] args) { 4 System.out.println("请输入一串字符:"); 5 Scanner scan=new Scanner(System.in); 6 //注:Scanner类中的next()方法遇到空格就不进去了,比如说输入haha nene就只会得到haha,空格后面的都被忽略了,因此要用nextLine() 7 String str=scan.nextLine();//将一行字符转化为字符串 8 scan.close(); 9 count(str); 10 } 11 //统计输入的字符数 12 private static void count(String str) { 13 String E1="[\u4e00-\u9fa5]";//此处使用了正则表达式[]匹配一个汉字。汉字Unicode 编码范围u4e00-u9fa5 14 String E2="[a-zA-Z]";//此处使用了正则表达式[],匹配所有字母 15 String E3="[0-9]";//此处使用了正则表达式[],匹配所有数字 16 String E4="[\\s]";//空格为\s,此处使用了转义字符 17 int countChinese=0; 18 int countLetter=0; 19 int countNumber=0; 20 int countSpace=0; 21 int countOther=0; 22 char[] array_Char=str.toCharArray();//将字符串转化为字符数组 23 String[] array_String=new String[array_Char.length];//汉字只能作为字符串处理 24 for(int i=0;i<array_Char.length;i++) 25 array_String[i]=String.valueOf(array_Char[i]); 26 //遍历字符串数组中的元素 27 for(String s:array_String) { 28 if(s.matches(E1)) 29 countChinese++; 30 else if(s.matches(E2)) 31 countLetter++; 32 else if(s.matches(E3)) 33 countNumber++; 34 else if(s.matches(E4)) 35 countSpace++; 36 else 37 countOther++; 38 } 39 System.out.println("输入的汉字个数:"+countChinese); 40 System.out.println("输入的字母个数:"+countLetter); 41 System.out.println("输入的数字个数:"+countNumber); 42 System.out.println("输入的空格个数:"+countSpace); 43 System.out.println("输入的其他字符个数:"+countOther); 44 } 45 } 46 /*运行结果 47 请输入一串字符: 48 中文AbC 1234.、 49 输入的汉字个数:2 50 输入的字母个数:3 51 输入的数字个数:4 52 输入的空格个数:2 53 输入的其他字符个数:2 54 */
转载于:https://www.cnblogs.com/parkour1026/p/10796906.html
Java50道经典习题-程序7 处理字符串相关推荐
- Java50道经典习题-程序18 乒乓球赛
题目:两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.已抽签决定比赛名单.有人向队员打听比赛的名单. a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单. 分析 ...
- Java50道经典习题-程序23 求岁数
题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁.问第4个人岁数,他说比第3个人大2岁.问第三个人,又说比第2人大两岁.问第2个人,说比第1个人大两岁.最后问第一个人,他说是10岁.请问 ...
- JAVA50道经典编程题
加强对基础知识的巩固提升,拓展逻辑思维. JAVA50道经典编程题: [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不 ...
- Java50道经典编程题:(七)输出不同种类字符个数 ——字符串的遍历及循环结构的使用
1.问题重述 题目:输入一行字符,分别统计出其英文字母.空格.数字和其它字符的个数. 2.解析 2.1如何判断字符的种类? 对比每一个数值在ASCII码的范围,就可以确定它符号的类别: char字符A ...
- 【收藏】❤️❤️❤️50道经典c#程序面试题——机试篇
1.编一个程序,定义常量Pi=3.14159265,从键盘上输入半径r,求出圆的面积. const double Pi = 3.14159265; double r,s; Console.WriteL ...
- java古典兔子问题(java50道经典编程题)
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 谈到这个问题大家可能开始比较懵逼,其实碰到这一类问 ...
- Java50道经典编程题:(十八)兵乓球赛程安排问题 ——对知识的灵活使用
1.问题重述 题目:两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.已抽签决定比赛名单.有人向队员打听比赛的名单.a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的 ...
- Java50道经典编程题:(十三)数字谜题 ——循环语句及判断符的使用
1.问题重述 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 2.解析 用for循环在10,000以内判断:先将该数加上100后再开方,再将该数加上2 ...
- java利用条件运算符的嵌套来完成此题:学习成绩 =90分.....(java50道经典编程题)
题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. 这是一个写条件运算的例子. 先和大家聊一下条件运算符,所谓条件运算也 ...
- Python100道经典练习题(一)
Python100道经典练习题(一) 当前计算机语言最火的python占据我们生活的各个方面,人工智能.云计算.5G发展.汽车工业.互联网加行业等.话不多说,所谓磨刀不误砍柴工,掌握一门编程语言的最佳 ...
最新文章
- koa-grace:一个基于koa的node多应用MVC框架
- 一篇能涨薪水的JVM调优,分析文章
- 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践
- 蓝牙HCI剖析(二)
- Linux 操作命令记录
- VUE基本语法1-插值 属性绑定
- 可变对象 不可变对象区别_对象应该是不可变的
- ant-design官网打不开 , 需要用镜像地址打开
- 台达服务器型号,台达网络服务器机柜 42u 600宽 1200 2000mm SR1160标准机柜
- Sqlserver 2008:sp_msforeachdb 坑爹的错误陷阱
- numpy—np.random.multivariate_normal
- 第6章:可维护性软件构建方法 6.1可维护性的度量和构造原则
- 服务器端查看图片库 eog
- 烧写ARM板----MYS-6ULX
- ElasticSearch集群状态异常(Red、Yellow)原因分析
- Caused by: java.sql.BatchUpdateException: ORA-00001: 违反唯一约束条件 (DSPACE.SYS_C007868)
- 计算机基础技能都有点什么,计算机基础技能学习材料.ppt
- linux蓝牙适配器驱动安装失败,deepin官方论坛-深度科技官网旗下网站
- DP什么意思 design pattern 设计模式 面向对象 概念大全
- IOC AOP OOP拙见