import java.util.Arrays;/** * 面试题5:替换空格 * 实现一个函数,把字符串中的每一个空格替换成“%20”。 * 例如,输入“We are happy”,输出"We%20are%20happy" */public class No5 { public static void main(String[] args) { //测试用例构建 //1、输入包含空格(空格位于字符串的最前边,最后边,中间,连续多个空格) //2、输入不含空格 //3、输入为空,输入只有一个空格 String test1 = "Hello World"; String test2 = " Hello World "; String test3 = " "; String test4 = ""; String test5 = "Hello World"; System.out.println(methord2(test5)); } //字符数组 public static String methord1(String inputString){ if(inputString==null){ return null; } int count = 0; for(char c:inputString.toCharArray()){ if(' '==c){ count++; } } char[] result = new char[inputString.length()+2*count]; int i = 0; for(char c: inputString.toCharArray()){ if(c==' '){ result[i] = '%'; result[i+1] = '2'; result[i+2] = '0'; i+=3; }else{ result[i] = c; i++; } } return new String(result); } //StringBuilder public static String methord2(String inputString){ if(inputString==null){ return null; } StringBuilder result = new StringBuilder(); for(char c: inputString.toCharArray()){ if(c==' '){ result.append("%20"); }else{ result.append(c); } } return result.toString(); }}