【发布时间】:2015-02-26 01:48:08
【问题描述】:
我的问题是前面的代码 words.lenght() 正在计算包括空格在内的所有字符。我想要做的是计算所有字符,不包括 ascii 32 的空格。
public static void main (String args[]){
String words = "kickflip in the face yo!";
int ff = 0;
for(int i = 0; i<=words.length(); i++){
if(words.charAt(i) == (char) 32)
continue;
ff++;
}
System.out.print(ff);
【问题讨论】:
-
Character.isSpace?words.replace(" ", "").length()怎么样? -
看起来不错。你有什么问题?
-
它说线程“main”中的异常 java.lang.StringIndexOutOfBoundsException: String index out of range: 17 at java.lang.String.charAt(Unknown Source) at TestKlass.main(TestKlass.java: 15)
-
@tinker101,用那个字符串不会是 17,而是 24。无论如何,包括我在内的两个答案(迄今为止)都指出了问题所在。