import java.io.*;
public class StringRW
{ public static void main(String[] args) throws Exception
{ String s="ab 汉 c 字+* as df_12*(34-67)+a6b7c";
StringReader sr=new StringReader(s);
int c;
int cc=0;
while((c=sr.read())!=-1)
{ if(Character.isLetter(c)) cc++;
}
System.out.println("源串是:"+s);
System.out.println("字母个数是:"+cc);
}
}
报错是:isLetter(char) in java.lang.Character cannot be applied to applied to (int) StringRW.java
public class StringRW
{ public static void main(String[] args) throws Exception
{ String s="ab 汉 c 字+* as df_12*(34-67)+a6b7c";
StringReader sr=new StringReader(s);
int c;
int cc=0;
while((c=sr.read())!=-1)
{ if(Character.isLetter(c)) cc++;
}
System.out.println("源串是:"+s);
System.out.println("字母个数是:"+cc);
}
}
报错是:isLetter(char) in java.lang.Character cannot be applied to applied to (int) StringRW.java
boolean java.lang.Character.isLetter(int codePoint)这个是since jdk 1.5的,当然不能识别了!改成:
if (Character.isLetter((char)c))
我在我的MeEclipse中测试了 一个字没动
输出结果
源串是:ab 汉 c 字+* as df_12*(34-67)+a6b7c
字母个数是:12
结果如下:
D:\UltraEdit\test>java StringRW
源串是:ab 汉 c 字+* as df_12*(34-67)+a6b7c
字母个数是:12
谢谢楼上的提醒哦
谢谢楼上的提醒哦