Scanner和;之间的区别BufferReader

时间:2012-03-19 10:19:08

标签: java

  

可能重复:
  Scanner vs. BufferedReader

使用下面显示的语句有什么区别:

Scanner input = new Scanner(System.in);
int number = input.nextInt();

InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader input = new BufferedReader(reader);
int number = input.readLine();

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

假设在consol中,您输入了

10 20 

然后按 ENTER

第一种情况将返回10但第二种情况不会编译,因为readLine()返回字符串而不是 int

如果您尝试将返回的字符串解析为 int ,那么它也会提供 NumberFormatException ,因为它会读取整行,其中包含两个数字以及 WHITE SPACE

答案 1 :(得分:1)

第一个编译,第二个编译。

扫描程序会将输入解析为数据类型,BufferedReader将按原样逐行提供数据。