首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

请看看下面程序是哪里出错了,该如何修改啊

2012-01-28 
请看看下面程序是哪里出错了,该怎么修改啊?import java.io.*public class StringRW{public static void m

请看看下面程序是哪里出错了,该怎么修改啊?
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


[解决办法]

[解决办法]
你用的是JDK1.4的版本?
boolean java.lang.Character.isLetter(int codePoint)这个是since jdk 1.5的,当然不能识别了!

改成:
if (Character.isLetter((char)c))



[解决办法]
Since: 
1.5
[解决办法]
没有问题的 这段代码 是你的环境的问题 !
我在我的MeEclipse中测试了 一个字没动
输出结果 
源串是:ab 汉 c 字+* as df_12*(34-67)+a6b7c
字母个数是:12

[解决办法]
JDK 版本问题
[解决办法]
4楼说的对,代码没有问题,我也是jdk1.5。
结果如下:
D:\UltraEdit\test>java StringRW
源串是:ab 汉 c 字+* as df_12*(34-67)+a6b7c
字母个数是:12

热点排行
Bad Request.