题目
原文:
Write a method to replace all spaces in a string with ‘%20’.
译文:
写一个方法用'%20'代替一个字符串中的所有空格。
解答
方法一:直接用一个String类型的变量将字符串中的非空格字符和‘%20’用加法串起来;
方法二:遍历一次字符串,数出空格数,然后开一个足够大的字符串空间,将字符一个个读进去;
代码如下:
class Q1_5{
public static String replaceSpaces(String str){
String strTemp="";
for(int i=0;i<str.length();i++){
if(str.charAt(i)!=' '){
strTemp+=str.charAt(i);
}else{
strTemp+="%20";
}
}
return strTemp;
}
public static char[] replaceSpaces2(char[] str){
int spaceNum=0;
int len=str.length;
for(int i=0;i<len;i++){
if(str[i]==' ')
spaceNum++;
}
char[] arr=new char[len+spaceNum*2];
for(int i=0,j=0;i<len;i++){
if(str[i]!=' '){
arr[j]=str[i];
j++;
}else{
arr[j]='%';
arr[j+1]='2';
arr[j+2]='0';
j+=3;
}
}
return arr;
}
public static void main(String[] args){
String str="i am navy!";
char[] str2={'i',' ','a','m',' ','n','a','v','y','!'};
System.out.println(replaceSpaces(str));
System.out.println(replaceSpaces2(str2));
}
}如有更好方法,还望指教!
---EOF---

被折叠的 条评论
为什么被折叠?



