用Character类的isletter() isDigit()等方法,....
//判断letter个数的Demo
int letterNum=0;
for(Character c: feng[0].toCharArray())
{
if(c.isLetter())
letterNum++;
}
//判断letter个数的Demo
int letterNum=0;
for(Character c: feng[0].toCharArray())
{
if(c.isLetter())
letterNum++;
}
for(char c: feng[0].toCharArray())
{
if(Character.isLetter(c))
letterNum++;
}
public boolean isDigit(char c){
if(c >= '0' && c <='9'){
return true;
}
return false;
}
//判断字母
public boolean isLetter(char c){
if((c >= 'a' && c <= 'z')||(c >= 'A' && c <= 'Z')){
return true;
}
return false;
}
{
}
public class Number
{
public static void main(String [] feng)
{
int shuzi = 0;
int zifu = 0;
int teshu = 0;
String str = feng[0];
char[] ch = new char[811];
int n = str.length();
str.getChars(0,n,ch,0);
for(int i = 0;i<=n-1;i++)
{
System.out.println(ch[i]);
}
for(int m = 0;m <= n-1; m++)
{
if(ch[m]>=65&&ch[m]<=90 || ch[m]>=97&&ch[m]<=122)
{
shuzi += 1;
}
else if(ch[m]>=48&&ch[m]<=57)
{
zifu += 1;
}else if(!(ch[m]>=65&&ch[m]<=90 || ch[m]>=97&&ch[m]<=122) && !(ch[m]>=48&&ch[m]<=57))
{
teshu += 1;
}
}
System.out.println("数字的个数是"+shuzi);
System.out.println("字符的个数是"+zifu);
System.out.println("特殊字符的个数是"+teshu);
}
}
这是最终代码 不知道为什么不对 表值我查了几遍 没错 没有封装 还请斧正 嘿嘿