package offer;

/**
 * 题目描述
 * 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
 */
public class Solution_02 {

    /**
     * 使用String的replace()方法
     */
    public static String replaceSpace_01(StringBuffer str) {
        return  str.toString().replace(" ", "%20");
    }

    /**
     * 将输入的StringBuffer转换为字符数组
     * 创建新的StringBuffer对象
     * 遍历字符数组
     * 如果遇到空格就往StingBuffer对象中添加%20
     * 否则直接添加该字符数组的字符即可
     */
    public static String replaceSpace_02(StringBuffer str) {
        char[]  chars= str.toString().toCharArray();
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < chars.length; i++) {
            if (chars[i]==' ') {
                sb.append("%20");
            }else {
                sb.append(chars[i]);
            }
        }
        return sb.toString();
    }
    /**
     * 输出测试
     */
    public static void main(String[] args) {
        StringBuffer s = new StringBuffer("We Are Happy");
        System.out.println(replaceSpace_01(s));
        System.out.println(replaceSpace_02(s));
    }
}