题目
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
方法1
首先,如何得到String里的各个字符?可以通过String的charAt(int index)方法,传入参数:索引index,就可以得到字符串的第index位字符。
其次,怎么判断该字符的类别?
UTF-8编码表是兼容ASCII编码表的,我们可以查阅ASCII码表,可以看到每个字符都对应着一串8位二进制(所谓编码,就是让二进制串与字符一一对应),二进制可以转换为10进制,所以每个字符对应着不同的10进制数。
我们可以通过将字符与10进制数进行比较,来判断字符类型。
方法2
首先,如何得到String里的各个字符?可以通过String的charAt(int index)方法,传入参数:索引index,就可以得到字符串的第index位字符。
其次,怎么判断该字符的类别?
char的包装类Character提供了一系列用于判断字符类型的方法。
Character.isSpaceChar方法:判断是否是空格
Character.isDigit方法:判断是否是数字
Character.isUpperCase方法:判断是否是大写字母
Character.isLowerCase方法:判断是否是小写字母
代码
import java.util.Scanner;
public class CharacterDistinct {
/*5.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。*/
public static void main(String[] args) {
System.out.println("请输入一句话:");
Scanner input = new Scanner(System.in);
String str = input.nextLine();
System.out.println("方法1");
characterDistinct1(str)