我正在阅读Java API,因为我对.nextLine().nextDouble()之间的区别有疑问。在API中,它表示.nextLine():

“使该扫描仪前进到当前行之后,并返回跳过的输入。此方法返回当前行的其余部分,但不包括末尾的任何行分隔符。该位置设置为下一行的开始。”

很容易...跳过当前行,然后返回刚刚跳过的行。但是对于.nextDouble(),它说:

“将输入的下一个标记扫描为双精度。如果无法将下一个标记转换为有效的双精度值,则此方法将引发InputMismatchException。如果转换成功,则扫描器将前进经过匹配的输入。”

那么,这是否意味着.nextDouble()不会跳至新行,而只会读取到double的末尾,然后在该行的末尾停止?这将有助于我理解我正在开发的程序。谢谢伙计们!

最佳答案

nextDouble()

仅从构成双精度的输入流中读取下一个4个字节,并且不前进到下一行,而nextLine()则读取。另外,我认为您需要了解由字符串'\ n'指定的新行,并且显然数字不会包含换行符,因此'nextDouble()'将不会'前进'到下一行。

编辑:拉兹万是对的

07-25 23:40