关于#java#的问题:程序作用是把输入的字符串中的空格替换为%20,但是每次到空格就会直接停下循环


import java.util.Scanner;
public class Solution
{
    public static String replaceSpace(String s)
    {
        StringBuilder result = new StringBuilder();
        char[] array = s.toCharArray();
        for (int x = 0; x < array.length; x++) {
            if (array[x] == ' ') {
                result.append("%20");
                System.out.println(result.toString());
            } else {
                result.append(array[x]);
                System.out.println(result.toString());
            }
        }
        return result.toString();
    }
        public static void main(String[] args)
        {
            Scanner data_in=new Scanner(System.in);
            System.out.println(replaceSpace(data_in.next()));
        }
}

以上是代码,作用是把输入的字符串中的空格替换为%20,但是每次测试到空格就会直接停下循环。
如输入
everybody want to
会输出
everybody

键入字符串的时候,将next()方法换成nextLine()方法,本人理解的是你使用next()方法时s接受的就只到了everybody,也就是说s="everybody"如果换成nextLine()方法的话s="everybody want to"。两个方法具体差别我找了篇博客http://t.csdn.cn/X8h7O

scanner包有一堆问题,尽量少用,我初学的时候就玩出了他一个bug