【发布时间】:2016-11-05 11:13:53
【问题描述】:
我听说 nextInt() 只读取整数并忽略末尾的 \n。 那么为什么下面的代码运行成功呢?
为什么我们输入 a 的值后没有错误,因为 \n 必须保留在缓冲区中, 所以在 b 处使用 nextInt() 应该会出错,但不会。为什么?
import java.util.Scanner;
public class useofScanner {
public static void main(String[] args) {
Scanner scanner =new Scanner(System.in);
int a = scanner.nextInt();
int b=scanner.nextInt();
System.out.println(a+b);
}
}
【问题讨论】:
-
它会忽略
\n,但不会在\n上抛出异常,它只是将其视为分隔符。 -
缓冲区中剩余的 \n 会怎样?
-
nextInt 使用/丢弃前导空格,无论您使用多少空格、制表符或换行符。