【题目】
例如,当字符串为We Are Happy.则经过替换之后的字符为We%20Are%20Happy
分析:此题用到啦StringBuffer类,因此需要我们尽可能的了解他其中的方法这个题就用到啦其中的 indexof ()和replaceSpace()l两个方法!
public int indexOf(String str)
返回指定子字符串第一次出现的字符串内的索引。
参数
str - 任何字符串。
结果
如果字符串参数作为该对象中的子字符串发生,则返回第一个这样的子字符串的第一个字符的索引; 如果它不作为子字符串出现,则返回-1 。
public StringBuffer replace(int start, int end, String str)
用指定的String中的字符替换此序列的子字符串中的String 。
子串开始于指定start并延伸到字符索引end - 1 ,
参数
start - 开始索引,包括。
end - 结束索引,排他。
str - 将替换以前内容的字符串。
StringBuffer()
构造一个没有字符的字符串缓冲区,初始容量为16个字符。
用while循环判断字符串中是否还有需要替换的字符串,如果下标不为-1,则继续循环进行替换,若下标为-1,则退出循环。
public class practise {
public static String replaceSpace(StringBuffer str) {
int index = str.indexOf(" ");
while(index != -1){
str.replace(index,index+1,"%20");
index=str.indexOf(" ");
}
String result = str.toString();
return result;
}
public static void main(String[] args) {
StringBuffer str=new StringBuffer();
str=str.append("ab c def gh");
System.out.println(replaceSpace(str));
}
}