1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Java实现统计字符串中的字母和数字分别有多少个

Java实现统计字符串中的字母和数字分别有多少个

时间:2023-12-04 00:26:38

相关推荐

Java实现统计字符串中的字母和数字分别有多少个

Java实现统计字符串中的字母和数字分别有多少个

需求

编写程序,由键盘录入一个字符串,统计字符串中英文字母和数字分别有多少个。比如:Hello12345World中字母:10个,数字:5个。

设计思路

查看Scanner类和String类的API,遍历字符串,分别统计字母和数字的个数

代码实现1

package com.itheima.APITest.Test04;import java.util.Scanner;/*请编写程序,由键盘录入一个字符串,统计字符串中英文字母和数字分别有多少个。比如:Hello12345World中字母:10个,数字:5个。*/public class Demo {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个字符串:");//public String nextLine​()//将此扫描仪推进到当前行并返回跳过的输入。String s = sc.nextLine();//定义统计字母的变量int charCount = 0;//定义统计数字的变量int numCount = 0;//遍历字符串//public int length​()//返回此字符串的长度。for (int i = 0; i < s.length(); i++) {//取出字符串中的字符,判断是否为字母//public char charAt​(int index)//返回指定索引处的char值。 指数范围从0到length() - 1 。 序列的第一个char值是索引0 ,下一个索引为1 ,依此类推,就像数组索引一样。if ((s.charAt(i) >= 'A' && s.charAt(i) <= 'Z') || (s.charAt(i) >= 'a' && s.charAt(i) <= 'z')) {charCount++;} else if (s.charAt(i) >= '0' && s.charAt(i) <= '9') {//判断字符串中的字符是否为数字numCount++;}}System.out.println("字母:" + charCount + "数字:" + numCount);}}

代码实现2

由于判断字符是否为字母要考虑大小写的情况,太过复杂,寻求简化的途径,翻看String类的API文档,优化后的代码如下:

package com.itheima.APITest.Test04;import java.util.Scanner;/*统计字符串中的字母和数字的个数,为了简化判断,将其字母全部转换为小写字母查看String类的API,实现*/public class Demo02 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个字符串:");String s = sc.nextLine();//public String toLowerCase​()//将此String所有字符转换为小写,使用默认语言环境的规则。String s1 = s.toLowerCase();int charCount = 0;int numCount = 0;for (int i = 0; i < s1.length(); i++) {if (s1.charAt(i) >= 'a' && s1.charAt(i) <= 'z') {charCount++;} else if (s1.charAt(i) >= '0' && s1.charAt(i) <= '9') {numCount++;}}System.out.println("字母有:" + charCount + "个");System.out.println("数字有:" + numCount + "个");}}

效果

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。