1.问题描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
2.算法分析
创建一个空的字符串newStr,扫描当前字符串,如果是空白符则替换成“%20”,追加到newStr中;如果是其他字符则追加到newStr中
3.算法设计
处理对象:StringBuffer str
定义数据类型:
1.StringBuilder newStr ,该对象用于保存结果
2.String replaceStr = "%20";
3.char currentChar = str.CharAt(i),表示当前字符
扫描str字符串对象,包含以下两种情况:
(1)如果currentChar是空白符,则向newStr中追加replaceStr
(2)如果currentChar不是空白符,则向newStr中追加currentChar
最后输出newStr.toString()即可
4.代码实现
public String replaceSpace(StringBuffer str) {
/**
* 算法设计:
* 0.创建一个StringBuilder类型的对象newStr,用于保存结果
* 1.从左往右扫描字符串str
* 2.如果当前最符str.Charat(i)是空白符,则向newStr中追加"%20";否则,向newStr中追加当前字符
* 3.将newStr转换成字符串返回
*/
if(str == null) return null;
StringBuilder newStr = new StringBuilder();
String replaceStr = "%20";
for(int i=0;i
if(str.charAt(i) == ' '){
newStr.append(replaceStr);
}else{
newStr.append(str.charAt(i));
}
}
return newStr.toString();
}