Java nextLine如何放弃输入?

Java nextLine如何放弃输入?,java,exception,java.util.scanner,Java,Exception,Java.util.scanner,我是java的初学者。我想知道nextLine()方法如何丢弃当前输入?例如,假设以下代码: Scanner input = new Scanner(System.in); int a = input.nextInt(); input.nextLine(); 执行input.nextLine()后,“input”中的值将被丢弃。我想知道它是如何工作的?当您输入数字并按enter键时,它会将整数值读取到a,并将\n保留在缓冲区中 现在,当您调用nextLine()时,它直接从跳过用户输入的缓冲区

我是java的初学者。我想知道
nextLine()
方法如何丢弃当前输入?例如,假设以下代码:

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

执行
input.nextLine()
后,“input”中的值将被丢弃。我想知道它是如何工作的?

当您输入数字并按enter键时,它会将整数值读取到
a
,并将
\n
保留在缓冲区中

现在,当您调用
nextLine()
时,它直接从跳过用户输入的缓冲区中获取换行符


为了避免这种情况,请在调用
newLine()
之前和成功执行
nextInt()
之后,调用
next()
方法从缓冲区读取剩余的
\n
,输入是一个表示扫描仪的对象。当执行nextLine时,函数将一直读取,直到遇到换行符,将该数据存入缓冲区并返回缓冲区。需要注意的重要一点是,“输入”不存储任何数据。它存储文件的表示形式和文件中您正在读取的位置。因此,不会丢弃输入中的任何内容。相反,您只是不使用nextLine返回的值,但是nextLine函数的副作用仍然会增加输入对象在文件中的位置

当您忽略由
nextLine()
返回的结果时,您将放弃它。谢谢亲爱的Joshi,但不幸的是,我无法理解您的意思。。。你能给我一本书的名字让我读更多的书或者一个好的资源吗。。。?