请实现一个函数,将一个字符串中的每个空格替换成指定的字符串

       
      /* 请实现一个函数,将一个字符串中的每个空格替换成"%600".例如,
       当字符串为kan de ren hen shuai.,则经过替换后的字符串为
       kan%600de%600ren%600hen%600shaui. */
public class Solution {
	public String raplaceSpace(StringBuffer str) {
		String str1 = str.toString();                //让输入的东西变成一串字符串
		if(str1.equals(" "))                         //检查字符串是否为空
			return str1;
		char [] strArray = str1.toCharArray();       //让字符串转化为字符数组
		int i = 0;
	 	int lengthSpace = 0;
		while(i<strArray.length) {                   //记录字符数组中空格的长度
			if(strArray[i] == ' ')
				lengthSpace++;
			i++;
		}
		int newStrLength  = strArray.length + lengthSpace*3;        //统计总的字符数组要转化的长度
		char [] newStr = new char[newStrLength];                    
		int j = newStrLength- 1;                                    //字符数组下标从零开始,减1
		i = strArray.length - 1;
		while(i>=0) {                                               //为新数组复制,采用从尾到头的复制方法
			if(strArray[i] != ' ') {                                //进行判断,检查是否为空格
				newStr[j--] = strArray[i--];                       
			}else {                                                 //如果不是空格,就填写相应的   注意:输入的字符是倒序
			    newStr[j--] = '0';
			    newStr[j--] = '0';
			    newStr[j--] = '6';
			    newStr[j--] = '%';
			    i--;
		 }
	  }
		
		return new String(newStr);
	}
     public static void main(String[] args) {
	     Solution s = new Solution();
	     StringBuffer buffer = new StringBuffer("kan de ren hen shuai.");
	     System.out.println(s.raplaceSpace(buffer));
     }
}
发布了2 篇原创文章 · 获赞 1 · 访问量 107

猜你喜欢

转载自blog.csdn.net/y1314999/article/details/84801114