题解 | #二维数组中的查找#

替换空格

http://www.nowcoder.com/practice/0e26e5551f2b489b9f58bc83aa4b6c68

/**
 * @author jingbu
 *
 *  替换空格
 *      请实现一个函数,将一个字符串中的每个空格替换成“%20”。
 *      例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
 *
 *  要点
 *      字符串的操作方法
 *      ==“ ”与.equals(" ")的区别
 */
public class Main {
    public static void main(String[] args) {
        String str="We Are Happy";

        System.out.println(str.length());

        Solution solution = new Solution();

        System.out.println(solution.replaceSpace(str));
    }
}

class Solution {
    public String replaceSpace (String s) {
        //把String类型转为StringBuffer,为了更好的操作字符串且节约空间
        StringBuffer stringBuffer = new StringBuffer(s);

        for (int i = 0; i < stringBuffer.length(); i++) {
            //取出字符串中的每一个字符
            String s1 = stringBuffer.substring(i, i + 1);
            //如果该字符为空,就用要求值替换
            //==如果对引用对象比较,比较的是地址,equals()重写之后比较的内容
            //此处不能使用== : s1的地址在堆空间内,“==”在常量池内,永远不会相等
            if(s1.equals(" ")){
                stringBuffer.replace(i,i+1,"%20");
            }
        }
        //将StringBuffer类型转为String
        return stringBuffer.toString();
    }
}
全部评论

相关推荐

头像
03-26 13:44
南华大学 Java
在看面经的花生米很野蛮:这种情况下你当然要回答,你也是吗!!!!我超喜欢他的XXXXX
点赞 评论 收藏
分享
03-21 08:46
已编辑
门头沟学院 C++
一个什么都不会的学生:当你有硕士学历的时候HR会说就是比本科生强
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务