每日一题6.20

请实现一个函数,把字符串中的每个空格替换成”%20”。例如输入 “We are happy.”,输出”We%20are%20happy.”。

这道题是针对 C++ 出的,对于 Java来说相对简单,用一个 StringBuiler 或者 StringBuffer 就可以了。不过这两个之间有略微的差别,StringBuiler是非线程安全的,多线程环境下会出现问题,但效率更高,StringBuffer则是线程安全的,但是效率相对较低。这题不涉及多线程编程,因此用 StringBuiler 就可以了。代码如下:

public String replaceSpace(StringBuffer str) {
    StringBuilder sb = new StringBuilder();
    int i = 0;
    while (i < str.length()) {
        if (str.charAt(i) == ' '){
            sb.append("%20");
        } else {
            sb.append(str.charAt(i));
        }
        i++;
    }
    return sb.toString();
}

猜你喜欢

转载自blog.csdn.net/q_all_is_well/article/details/80767456