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