看下面一个例子:
package com.io.crazyjava;
import java.util.Scanner;
public class Test {
/**
* 吴日辉
*/
public static void main(String[] args) throws Exception{
Scanner sca =new Scanner(System.in);
System.out.print("请输入:");
System.out.println(sca.next());
}
}
当我们在控制台中输入 wurihui wurihui
打印结果是:wurihui
因为Scnner的next默认的匹配方式是遇到空格和换行符
因此只需要改变它的匹配方式,就可以解决该问题,加入一行代码:sca.useDelimiter("\n");
package com.io.crazyjava;
import java.util.Scanner;
public class Test {
/**
* 吴日辉
*/
public static void main(String[] args) throws Exception{
Scanner sca =new Scanner(System.in);
sca.useDelimiter("\n");
System.out.print("请输入:");
System.out.println(sca.next());
}
}
问题得以解决!
当然也可以使用流的方式:
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入:");
System.out.println(br.readLine());