剑指offer--面试题4:替换空格

来源:互联网 发布:木地板怎么解决知乎 编辑:程序博客网 时间:2024/06/03 19:13

  请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
  

public class replaceSpaceSolution {    public String replaceSpace(StringBuffer str) {        if(str == null){            return null;        }        //String -> StringBuffer 构造方法        //StringBuffer str = new StringBuffer("We are happy");        StringBuffer outputBuffer = new StringBuffer();        for(int i=0;i<str.length();i++){            if(str.charAt(i)==' '){            //String -> StringBuffer 通过append方法                outputBuffer.append("%");                outputBuffer.append("2");                outputBuffer.append("0");            }else{                /*字符转换为字符串                 * char a='A';//定义一个字符a                   String str = String.valueOf(a);//把字符a转换成字符串str                 * */                outputBuffer.append(String.valueOf(str.charAt(i)));            }        }        //StringBuffer -> String 构造方法        return new String(outputBuffer);        }

String与StringBuffer之间的转换

1 package demo; 2 /* String与StringBuffer之间的转换 3  * String -> StringBuffer 4  * 方式一:构造方法 5  * 方式二:通过append方法 6  * StringBuffer -> String 7  * 方式一:通过构造方法 8  * 方式二:通过toString方法 9  * */10 public class StringAndStringBufferSwitch {11     public static void main(String[] args) {12         //String -> StringBuffer13         //创建一个String对象14         String str = "Hi Java!";15         System.out.println(str);16  17         //方式一:构造方法18         StringBuffer buffer = new StringBuffer(str);19         System.out.println(buffer);20  21         //方式二:通过append方法22         StringBuffer buffer2 = new StringBuffer();23         buffer2.append(str);24         System.out.println(buffer2);25  26         //StringBuffer -> String27         //创建一个StringBuffer对象28         StringBuffer buffer3 = new StringBuffer();29         buffer3.append("Happy birthday Java!");30         System.out.println(buffer3);31  32         //方式一:通过构造方法33         String str2 = new String(buffer3); 34         System.out.println(str2);35          36         //方式二:通过toString方法37         String str3 = buffer3.toString();38         System.out.println(str3);39     }40 }