Java【常见问题】判断String里的各字符是什么类型的字符(数字/字母/空格等)?

判断String里的各字符是什么类型的字符(数字/字母/空格等)?

题目

输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

方法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)
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值