【笔试】22、替换字符串的空格
2015-08-25 14:28
387 查看
/** *题目:请实现一个函数,把字符串中的每个空格替换成”%20”。例如输入“We are happy.”,则输出”We%20are%20happy.” *时间:2015年8月25日10:34:31 *文件:ReplaceBlank.java *作者:cutter_point */ package bishi.Offer50.y2015.m08.d25; public class ReplaceBlank { public static char[] ReplaceBlank(char string[], int length) { //我们用倒序的方法进行遍历 if(string == null && length < 0) { System.err.println("数据异常"); return null; } //我们先求出需要的空间长度 int originalLength = length; int numberOfBlank = 0; //空白的字符 int i = 0; while(i < length) { if(string[i] == ' ') { ++numberOfBlank; } ++i; } //我们需求的长度' int newLength = originalLength + numberOfBlank * 2; if(newLength > length) { //我们为新的数组申请空间 char string2[] = new char[newLength]; //然后把数据移到新的数组中 for(int j = 0; j < length; ++j) string2[j] = string[j]; string = string2; } //我们从后往前遍历,把所有的字符进行替换 int indexOfnewString = newLength - 1; int indexOfOriginalString = length - 1; while(indexOfnewString >= indexOfOriginalString && indexOfOriginalString > -1) { //如果是空格我们就替换,如果不是,就直接复制过来 if(string[indexOfOriginalString] == ' ') { string[indexOfnewString--] = '0'; string[indexOfnewString--] = '2'; string[indexOfnewString--] = '%'; }//if else { string[indexOfnewString--] = string[indexOfOriginalString]; } --indexOfOriginalString; }//while return string; } public static void test() { String ss = "We are happy."; char s[] = new char[50]; s = "We are happy.".toCharArray(); s = ReplaceBlank(s, s.length); for(int i = 0; i < s.length; ++i) { System.out.print(s[i]); } } public static void main(String[] args) { test(); } }
相关文章推荐
- 新一批创业者金矿,iclap谁与争锋
- 重写DEV的DateEdit控件的类只选择年月
- jquery.lazyload 实现图片延迟加载jquery插件
- 栈的使用之计算表达式的值
- 【ActionBar】Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)
- 虚函数的机制
- 招人不易留人更难——创业团队要闯哪些关?
- axis2 webService项目 客户端生成方法
- 【linux】ubuntu下navicat for mysql安装
- jQuery 间歇式无缝滚动特效分享(三张图片平行滚动)
- 使用电脑远程调试安卓手机上浏览器的JS
- 机房收费系统——起步阶段需要做的工作,怎么附加数据库?怎么注册控件?
- java下载excel文件源码(可选择保存文件路径)
- 搭建从java到android的开发环境
- 密码安全性检查代码
- Excel 复制Sql查询结果错位
- 如何搭建二维码支付系统?
- ios自定义构造方法
- 程序员应有素质
- 机房收费系统验收之思想无价