我的问题是这是前面的代码words.length()正在计算包括空格在内的所有字符。我想要做的是计算除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);
答案 0 :(得分:0)
除了在<=
行使用for
之外你应该使用<
(当你试图抓住索引24处的字符时导致异常),以及缺少的右括号(我假设这只是一个错字),该代码应该可以正常工作。
修复这些问题后,它会为您提供正确的20
:
public class Test {
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) != ' ')
ff++;
System.out.print(ff);
}
}
你会注意到我已经制作了两个其他小的mod,使代码更好(在我看来)。
第一个是使用' '
而不是(char)32
,第二个是稍微重组计数位,因此您不需要continue
。
毫无疑问可以做出其他改进,但他们往往会偏离初学者的水平。