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)); } }