问题描述
请实现一个函数,把字符串s中的每个空格替换成%20
。
方法一:StringBuilder
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
System.out.println(replaceSpace(s));
}
public static String replaceSpace(String s) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == ' ') {
sb.append("%20");
continue;
}
sb.append(s.charAt(i));
}
return sb.toString();
}
}
方法二:char[]
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
System.out.println(replaceSpace(s));
}
public static String replaceSpace(String s) {
int countSpace = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == ' ') {
countSpace++;
}
}
char[] res = new char[s.length()+2*countSpace];
int idx = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == ' ') {
res[idx++] = '%';
res[idx++] = '2';
res[idx++] = '0';
} else {
res[idx++] = s.charAt(i);
}
}
return String.valueOf(res);
}
}