题目:输入一行字符,分别统计出其中英文字母,空格,数字和其他字符个数.
分析:将字符串转为char数组,然遍历出每一个字符,进行判断统计.下面有两个方法实现,方法二采用正则表达式判断字符类型
package com.math.forth;/*** * 输入一行字符,分别统计出其中英文字母,空格,数字和其他字符个数 * 分析:将字符串转为char数组,然遍历出每一个字符,进行判断统计 */import java.util.Scanner;public class Meth06 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入字符串:"); String s=sc.nextLine();//这里不要用扫描器next()方法,关于这两个方法下面有介绍 char[] a=s.toCharArray(); method(a); System.out.println("------method2--------"); method2(a); } public static void method(char[] a){ int num1=0; int num2=0; int num3=0; int num4=0; for(int i=0;i
关于Sacnner类的next()和nextLine()方法的区别:
next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。既:next()查找并返回来自此扫描器的下一个完整标记。完整标记的前后是与分隔模式匹配的输入信息,所以next方法不能得到带空格的字符串。nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
关于Scanner类中的这两个方法请转到