我是java的初学者。我想知道nextLine()
方法如何丢弃您当前的输入?例如,假设以下代码:
Scanner input = new Scanner(System.in);
int a = input.nextInt();
input.nextLine();
执行input.nextLine()
后,“input”中的值将被丢弃。我想知道它是如何工作的?
答案 0 :(得分:2)
当您输入数字并按 Enter 时,它会将整数值读取到a
并将\n
保留在缓冲区中
现在当你调用nextLine()
时,它会直接从缓冲区跳过用户输入中获取换行符
以避免在调用next()
之后以及成功执行\n
之后将newLine()
方法调用从缓冲区中读取nextInt()
左侧
答案 1 :(得分:1)
input是表示扫描仪的对象。执行nextLine时,函数会一直读取,直到遇到换行符,将该数据存入缓冲区并返回缓冲区。需要注意的重要一点是“输入”不存储任何数据。它存储文件的表示以及您正在阅读的文件中的位置。因此输入中没有任何内容被丢弃相反,您只是不使用nextLine返回的值,但nextLine函数的副作用仍然会增加输入对象在文件中的位置。