程序员面试金典练习题4

题目:空格替换

时间限制: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无用,因为编译器要求按照其格式,故不能删除该参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值