Java语言悬赏问题,Java语言输入一个字符串,统计字符串里面字母、数字、符号的个数分别是多少

Java语言悬赏问题,Java语言输入一个字符串,统计字符串里面字母、数字、符号的个数分别是多少
要有完整的代码,谢谢

string str = "ABDC3499D~334DG774033";
        List<char> strArr = str.ToList();
        foreach (char a in strArr)
        {
            int _assci = (int)a;

            if(_assci>=65 && _assci <=127)
            {
                Console.WriteLine("字母:" + a);
            }
            else if(_assci>=48 && _assci <= 57)
            {

                Console.WriteLine("数字:" + a);
            }
            else if (_assci >= 33 && _assci <= 47)
            {
                Console.WriteLine("符号:" + a);
            }
            else
            {
                Console.WriteLine("其他:" + a);
            }
        }

                    C# 代码你改一下成java

可以试一下,匹配三种字符的个数

public void getNumFromStr(String str) {

        int strNum = 0;
        int intNum = 0;
        for (int i = 0; i < str.length(); i++) {
            if(Pattern.matches("[A-Za-z]", String.valueOf(str.charAt(i)))) {
                strNum++;
            } else if(Pattern.matches("\\d", String.valueOf(str.charAt(i)))){
                intNum++;
            }

        }
        System.out.println("字母个数:" + strNum);
        System.out.println("数字的个数:" + intNum);
        System.out.println("符号的个数:" + (str.length()-(strNum+intNum)));
    }

package Test1;

//Java语言输入一个字符串,统计字符串里面字母、数字、符号的个数分别是多少 
public class Test1 {

    //字母
    private static int english;
    //数字
    private static int number;
    //符号
    private static int symbol;

    public static void aa(String str){
         if (null == str || str.equals("")) {
                System.out.println("字符串为空");
                return;
            }

            for (int i = 0; i < str.length(); i++) {
                char tmp = str.charAt(i);
                if ((tmp >= 'A' && tmp <= 'Z') || (tmp >= 'a' && tmp <= 'z')) {
                    english ++;
                } else if ((tmp >= '0') && (tmp <= '9')) {
                    number ++;
                } else {
                    symbol ++;
                }
            }
            System.out.println("字母:" + english);
            System.out.println("数字:" + number);
            System.out.println("符号:" + symbol);
    }

    public static void main(String[] args) {
        aa("asef2777&&&34vfdv23--");
    }
}

package test;

import java.util.Scanner;

/**

  • @author linxing
  • @date 2020-01-02
  • @description: */ public class Tem { public static void main(String[] args) { Scanner scan=new Scanner(System.in); String str=scan.next();//输入字符串 int num=0,ch=0,other=0; for(int i=0;i='A'&&str.charAt(i)<='Z')||(str.charAt(i)>='a'&&str.charAt(i)<='z')){ ch++; }else if(str.charAt(i)>='0'&&str.charAt(i)<='9'){ num++; }else{ other++; } } System.out.println("字母:"+ch+" 数字:"+num+" 其它:"+other); } }