题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
分析:利用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 处理字符串相关推荐

  1. Java50道经典习题-程序18 乒乓球赛

    题目:两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.已抽签决定比赛名单.有人向队员打听比赛的名单. a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单. 分析 ...

  2. Java50道经典习题-程序23 求岁数

    题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁.问第4个人岁数,他说比第3个人大2岁.问第三个人,又说比第2人大两岁.问第2个人,说比第1个人大两岁.最后问第一个人,他说是10岁.请问 ...

  3. JAVA50道经典编程题

    加强对基础知识的巩固提升,拓展逻辑思维. JAVA50道经典编程题: [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不 ...

  4. Java50道经典编程题:(七)输出不同种类字符个数 ——字符串的遍历及循环结构的使用

    1.问题重述 题目:输入一行字符,分别统计出其英文字母.空格.数字和其它字符的个数. 2.解析 2.1如何判断字符的种类? 对比每一个数值在ASCII码的范围,就可以确定它符号的类别: char字符A ...

  5. 【收藏】❤️❤️❤️50道经典c#程序面试题——机试篇

    1.编一个程序,定义常量Pi=3.14159265,从键盘上输入半径r,求出圆的面积. const double Pi = 3.14159265; double r,s; Console.WriteL ...

  6. java古典兔子问题(java50道经典编程题)

    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 谈到这个问题大家可能开始比较懵逼,其实碰到这一类问 ...

  7. Java50道经典编程题:(十八)兵乓球赛程安排问题 ——对知识的灵活使用

    1.问题重述 题目:两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.已抽签决定比赛名单.有人向队员打听比赛的名单.a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的 ...

  8. Java50道经典编程题:(十三)数字谜题 ——循环语句及判断符的使用

    1.问题重述 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 2.解析 用for循环在10,000以内判断:先将该数加上100后再开方,再将该数加上2 ...

  9. java利用条件运算符的嵌套来完成此题:学习成绩 =90分.....(java50道经典编程题)

    题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. 这是一个写条件运算的例子. 先和大家聊一下条件运算符,所谓条件运算也 ...

  10. Python100道经典练习题(一)

    Python100道经典练习题(一) 当前计算机语言最火的python占据我们生活的各个方面,人工智能.云计算.5G发展.汽车工业.互联网加行业等.话不多说,所谓磨刀不误砍柴工,掌握一门编程语言的最佳 ...

最新文章

  1. koa-grace:一个基于koa的node多应用MVC框架
  2. 一篇能涨薪水的JVM调优,分析文章
  3. 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践
  4. 蓝牙HCI剖析(二)
  5. Linux 操作命令记录
  6. VUE基本语法1-插值 属性绑定
  7. 可变对象 不可变对象区别_对象应该是不可变的
  8. ant-design官网打不开 , 需要用镜像地址打开
  9. 台达服务器型号,台达网络服务器机柜 42u 600宽 1200 2000mm SR1160标准机柜
  10. Sqlserver 2008:sp_msforeachdb 坑爹的错误陷阱
  11. numpy—np.random.multivariate_normal
  12. 第6章:可维护性软件构建方法 6.1可维护性的度量和构造原则
  13. 服务器端查看图片库 eog
  14. 烧写ARM板----MYS-6ULX
  15. ElasticSearch集群状态异常(Red、Yellow)原因分析
  16. Caused by: java.sql.BatchUpdateException: ORA-00001: 违反唯一约束条件 (DSPACE.SYS_C007868)
  17. 计算机基础技能都有点什么,计算机基础技能学习材料.ppt
  18. linux蓝牙适配器驱动安装失败,deepin官方论坛-深度科技官网旗下网站
  19. DP什么意思 design pattern 设计模式 面向对象 概念大全
  20. IOC AOP OOP拙见

热门文章

  1. String.resize()
  2. Hibernate,get()和load()区别
  3. sharepoint开发流水账--sharepoint弹出窗体
  4. Tips of keras
  5. 这样的Softmax你真的不了解!
  6. 深度学习2.0-普通BP神经网络
  7. 一文弄懂LogSumExp技巧
  8. 书单|互联网企业面试案头书之产品经理篇
  9. 《英雄联盟》设计师NORMAN的游戏设计之路
  10. 工业标准的品质也已成为开源世界中的范例之一