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;
/**