我正在阅读Java API,因为我对.nextLine()
和.nextDouble()
之间的区别有疑问。在API中,它表示.nextLine()
:
“使该扫描仪前进到当前行之后,并返回跳过的输入。此方法返回当前行的其余部分,但不包括末尾的任何行分隔符。该位置设置为下一行的开始。”
很容易...跳过当前行,然后返回刚刚跳过的行。但是对于.nextDouble()
,它说:
“将输入的下一个标记扫描为双精度。如果无法将下一个标记转换为有效的双精度值,则此方法将引发InputMismatchException。如果转换成功,则扫描器将前进经过匹配的输入。”
那么,这是否意味着.nextDouble()
不会跳至新行,而只会读取到double的末尾,然后在该行的末尾停止?这将有助于我理解我正在开发的程序。谢谢伙计们!
最佳答案
nextDouble()
仅从构成双精度的输入流中读取下一个4个字节,并且不前进到下一行,而nextLine()则读取。另外,我认为您需要了解由字符串'\ n'指定的新行,并且显然数字不会包含换行符,因此'nextDouble()'将不会'前进'到下一行。
编辑:拉兹万是对的