菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
436
0

剑指offer(Java版)第三题:请实现一个函数,把字符串中的每个空格替换成"%20"。 例如输入“We are happy.”,则输出“We%20are%20happy.”。

原创
05/13 14:22
阅读数 14557

/*
请实现一个函数,把字符串中的每个空格替换成"%20"。
例如输入“We are happy.”,则输出“We%20are%20happy.”。
*/

import java.util.*;
import java.lang.*;

public class Class4 {

static class replaceBlank{
public String replaceBlank(StringBuffer a){
if(a == null){
System.out.println("输入的字符串为空!");
return null;
}
int newLength = a.length();
int originLength = a.length() - 1;
int count = 0;
for(int i = 0; i < a.length(); i++){
if(a.charAt(i) == ' '){
count++;
newLength += 2;
}
}
a.setLength(newLength);
if(count == 0){
System.out.println("输入的字符串不包括空格!");
return "Worry";
}
newLength = newLength - 1;
while(newLength > originLength){
if(a.charAt(originLength) != ' '){
a.setCharAt(newLength--, a.charAt(originLength));
}else if(a.charAt(originLength) == ' '){
a.setCharAt(newLength--, '0');
a.setCharAt(newLength--, '2');
a.setCharAt(newLength--, '%');
}
originLength--;
}
return a.toString();
}
}

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("输入原始字符串!");
StringBuffer s1 = new StringBuffer("We are happy");
System.out.println(s1.toString());
replaceBlank rb = new replaceBlank();
String r = rb.replaceBlank(s1);
System.out.println("输出替换后的字符串!");
System.out.println(r);

}

}

发表评论

0/200
436 点赞
0 评论
收藏
为你推荐 换一批