题目要求:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为hello word长度12,则经过替换之后的字符串为hello%20%20word
解题思路:
确认使用for循环结构。
方法一:直接遍历string中所有字符,将空格替换为“%”输出结果;
方法二:将string转化为数组,然后进行遍历,将空格替换为“%20”,输出结果;
package zh.study.practice;
/*
* 题目要求:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
解题思路:
1.确认使用for循环结构。
2.方法一:直接遍历string中所有字符,将空格替换为“%”输出结果;
方法二:将string转化为数组,然后进行遍历,将空格替换为“%20”,输出结果;
*
*/
public class practiceday1 {
public static String replaceSpace1(String s,int length){
String newStr="";
for (int i = ; i <length ; i++) {
if(s.charAt(i)==' '){
newStr=newStr+"%20";
}else{
newStr=newStr+s.charAt(i);
}
}
return newStr;
}
public static String replaceSpace2(String s,int length){
String newStr="";
int numSpace=;
char[] arr = s.toCharArray();
for (int i = ; i <length ; i++) {
if(arr[i]==' '){
numSpace++;
}
}
char[] newArr= new char[numSpace*+length];
int n=;
for (int i = ; i<arr.length ; i++) {
if(arr[i] == ' '){
newArr[n++]='%';
newArr[n++]='2';
newArr[n]='0';
}else{
newArr[n++]=arr[i];
}
}
newStr=String.valueOf(newArr);
return newStr;
}
public static void main(String[] args) {
String s="abcd ";
int len=s.length();
System.out.println(replaceSpace2(s,len));
}
}
也可以使用库函数ReplaceAll
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("输入字符串: ");
String str =scanner.nextLine(); //获取string.
String newstr =str.replace(" ", "%20");//使用库函数直接替换空格为字符串“%20”
System.out.println(newstr);
}
}