import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Scanner;
public class Test {
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入字符:");
System.out.println("你输入的字符为:"+scanner.next());
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入字符:");
System.out.print("你输入的字符为:"+bufferedReader.readLine());
}
}
结果:

Sccaner对象用空白(空格、制表符及换行符)作为输入的分隔元素。Scanner类的next()方法读入下一个输入对象,将它作为字符串返回。如果输入一串用空白分开的多个字,则每次调用next()时都会得到下一个字。nextLine()方法读入当前行的所有输入,直到行尾。
当你输入的内容中间包括空格时,显然,使用Scanner就不能完整的获得你输入的字符串.这时候我们可以考虑使 用BufferedReader类取得输入。BufferedReader对象的readLine()方法会返回用户在按下Enter键之前的所有字符输入,不包括最后按下的Enter返回字符。