除了ascii 32之外,在Java中计算char

时间:2015-02-26 01:48:08

标签: java count char

我的问题是这是前面的代码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);

1 个答案:

答案 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

毫无疑问可以做出其他改进,但他们往往会偏离初学者的水平。