使用下面显示的语句有什么区别:
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();
提前感谢您的帮助。
答案 0 :(得分:1)
假设在consol中,您输入了
10 20
然后按 ENTER 键
第一种情况将返回10但第二种情况不会编译,因为readLine()返回字符串而不是 int 。
如果您尝试将返回的字符串解析为 int ,那么它也会提供 NumberFormatException ,因为它会读取整行,其中包含两个数字以及 WHITE SPACE
答案 1 :(得分:1)
第一个编译,第二个编译。
扫描程序会将输入解析为数据类型,BufferedReader将按原样逐行提供数据。