java 基础数据遍历(1)----将一个字符串中的空格替换成“%20”

题目要求:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
解题思路:
1.确认使用for循环结构。
2.方法一:直接遍历string中所有字符,将空格替换为“%”输出结果;
方法二:将string转化为数组,然后进行遍历,将空格替换为“%20”,输出结果;
具体代码:

public static void main(String[] args) {
        Scanner scanner =new Scanner(System.in);
        System.out.println("请输入字符串");
        String Str=scanner.nextLine();

        //1.遍历str所有字符
        String newStr="";
        for (int i = 0; i < Str.length(); i++) {
            if (Str.charAt(i)==' ') {
                newStr=newStr+"%20";
            }
            else newStr=newStr+Str.charAt(i);
        }
        System.out.println(newStr);

        //2.将str转化为数组然后遍历,原理同1一致
        int numSpace=0;
        char[] arrayStr=Str.toCharArray();
        for (int i = 0; i < arrayStr.length; i++) {
            if (arrayStr[i]==' ') {
                numSpace++;
            }
        }
        char[] newArrayStr=new char[arrayStr.length+2*numSpace];//确定替换空格后新数组大小
        int n=0;
        for (int i = 0; i < arrayStr.length; i++) {
            if (arrayStr[i]==' ') {
                newArrayStr[n]='%';
                n++;
                newArrayStr[n]='2';
                n++;
                newArrayStr[n]='0';
            }
            else newArrayStr[n]=arrayStr[i];
            n++;
        }
        System.out.println(String.valueOf(newArrayStr));
    }

}

实际结果符合要求
补充:当然最简单的可以使用库函数ReplaceAll解决本题。


    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("输入字符串: ");
        String str =scanner.nextLine(); //获取string.
        String newstr =str.replace(" ", "%20");//使用库函数直接替换空格为字符串“%20”
        System.out.println(newstr);
    }

}

实际符合要求结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值