微軟推出的codehunt編碼遊戲很有意思 返回字符串中指定字符的個數

給大家推薦一個編碼遊戲

www.codehunt.com

很有意思,支持java c++ c#

舉個簡單的例子

給定字符串和一個字符,讓你返回字符串中字符的個數

一星做法:將String轉成char數組,遍歷計數: 

    public static int geti(String s, char a) {
        char[] arrC = s.toCharArray();
        int res = 0;
        for(int i = 0; i < arrC.length; i++){
            res += (arrC[i] == a ? 1 : 0);
        }
        return res;
    }


三星做法:用split或者replaceAll

    public static int geti(String s, char a) {
        return s.split(String.valueOf(a)).length - 1;
    }
但是split對於 “aaaaaa” ‘a' 全是一個字符的操作失敗,返回-1,因爲split如果分割後的都是空字符串,則返回空string數組。

所以最好的還是用replaceAll

    public static int geti(String s, char a) {
        return s.length() - s.replaceAll(String.valueOf(a), "").length();
    }

不需要考慮參數不合法情況,專注於解謎題


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章