《程序员面试金典》1.4 字符串替换-Java

题目:

 1.4 编写一个方法,将字符串中的空格全部替换为“%20”.假定该字符尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)

代码:

/*
 * 1.4 编写一个方法,将字符串中的空格全部替换为“%20”.假定该字符尾部有足够的空间存放新增字符,
 *     并且知道字符串的“真实”长度。
 * (注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)
 */
package mainshijindian;

import java.util.Scanner;

public class ReplaceSpace {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input=new Scanner(System.in);
		String str = input.nextLine();
		
		char[] str_char1 = str.toCharArray();
		System.out.println("str.length() "+str.length());
		System.out.println("str_char.length "+str_char1.length);
		
		int spaceCount=0;
		for(int i=0;i=0;i--)              //更新字符串,从末尾开始处理
		{
			if(str_char1[i]==' ')                           //如果当前扫描到的字符串为空格,则将其替换为“%20”
			{
				str_char[newStrLength-1]='0';
				str_char[newStrLength-2]='2';
				str_char[newStrLength-3]='%';
				newStrLength = newStrLength-3;            //更新替换后字符数组当前下标
			}else{
				str_char[newStrLength-1] = str_char1[i];    //若当前扫描到的字符不为空格,则直接复制到新的字符串
				newStrLength = newStrLength-1;
			}
		}
		
		System.out.print("After replace space string: ");   //输出替换后的字符串
		for(int i=0;i

 

你可能感兴趣的:(java,Data,Structure,and,Algorithms)