Java-判断各类型字符个数

每日一题 2022.11.7

Java-判断各类型字符个数

描述

输入一行字符串,分别统计出其中英文字母、空格、数字和其它字符的个数
输入描述:
控制台随机输入一串字符串
输出描述:
输出字符串中包含的英文字母个数,数字个数,空格个数,其它字符个数(格式为:英文字母x数字x空格x其他x),预设代码中已给出输出
示例1
输入:

!@#¥% asdyuihj 345678

输出:

英文字母8数字6空格2其他5

备注:

代表数字的ASCII码值为48-57

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        StringBuilder res = new StringBuilder();
        int num,cha,spa,oth;
        num = cha = spa = oth = 0;
        String str = in.nextLine();
        for(int i = 0;i < str.length();i++){
            char c = str.charAt(i);
            if((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')){
                cha++;
            }else if(c >='0' && c <= '9'){
                num++;
            }else if(c==' '){
                spa++;
            }else{
                oth++;
            }
        }
        System.out.println("英文字母"+cha+"数字"+num+"空格"+spa+"其他"+oth);

    }
}
Java 中,可以通过以下方法判断一个字符串是否为: 1. 使用正则表达式判断 可以使用正则表达式来判断一个字符串是否为,以下是示例代码: ``` public static boolean isNumeric(String str) { if (str == null || str.length() == 0) { return false; } return str.matches("-?\\d+(\\.\\d+)?"); } ``` 上述代码中,使用 matches 方法和正则表达式 "-?\\d+(\\.\\d+)?" 来判断字符串是否为。其中,正则表达式表示: - ? 表示前面的符号可以出现 0 或 1 次 - \d 表示字 - + 表示前面的符号可以出现 1 次或多次 - \. 表示小点 - () 表示一个组 因此,"-?\\d+(\\.\\d+)?" 表示匹配整或小,可以带正负号。 2. 使用 Java 内置函判断 Java 中提供了一些内置函可以判断字符串是否为,以下是示例代码: ``` public static boolean isNumeric(String str) { if (str == null || str.length() == 0) { return false; } try { double d = Double.parseDouble(str); } catch (NumberFormatException nfe) { return false; } return true; } ``` 上述代码中,使用 Double.parseDouble 方法将字符串转换成 double 类型。如果转换成功,则说明该字符串为;否则,抛出 NumberFormatException 异常,说明该字符串不是。 请注意,以上代码只能判断字符串是否符合的格式,不能判断是否在值范围之内。例如,"9999999999999999999999999999999999999999999999999999" 是一个符合格式的字符串,但超出了 double 类型的范围,会导致转换失败。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值