程序员面试金典练习题4

时间:2021-11-13 21:09:21

题目:空格替换

时间限制:3秒 空间限制:32768K 热度指数:21993本题知识点: 编程基础 数组 字符串 算法知识视频讲解

题目描述

请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。

给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string。

测试样例:
"Mr John Smith”,13
返回:"Mr%20John%20Smith"
”Hello  World”,12
返回:”Hello%20%20World”
package com.Main.dl;

import java.util.*;


//知识点:StringBuffer
public class Replacement {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
while(in.hasNextLine()){
String str=in.nextLine();
String[] str1=new String[2];
str1=str.split(",");
String end=replaceSpace(str1[0],Integer.valueOf(str1[1]));
System.out.println(end);

}
}
public static String replaceSpace(String iniString, int length) {
//字符串长度
char[] iniStr=iniString.toCharArray();
StringBuffer d=new StringBuffer();
for (int i = 0; i < iniStr.length; i++) {
if(iniStr[i]==' '){
d.append("%20");
}else{
d.append(iniStr[i]);
}
}
String str2 = new String(d);
return str2;
}
}
知识点:用StringBuffer特别简单,具体就不说了。len无用,因为编译器要求按照其格式,故不能删除该参数。