我读了API的Java,因为我对之间的差异问题.nextLine()和.nextDouble()。在API中,它表示.nextLine():
“使该扫描仪前进到当前行之后,并返回跳过的输入。此方法返回当前行的其余部分,但不包括末尾的任何行分隔符。该位置设置为下一行的开始。”
很容易...跳过当前行,然后返回刚刚跳过的行。但是对于.nextDouble(),它说:
“将输入的下一个标记扫描为双精度。如果无法将下一个标记转换为有效的双精度值,则此方法将引发InputMismatchException。如果转换成功,则扫描器将前进经过匹配的输入。”
那么这是否意味着.nextDouble()不跳到新行,而是仅读取到双精度行的末尾,然后才在行末尾停止?这将有助于我理解我正在开发的程序。谢谢伙计们!
它读取下一个令牌(通常在2个分隔字符之间,通常为白色字符),而不是接下来的4个字节。然后,如果可以,它将令牌转换为双精度标记。
Ex: Bla bla bla 12231231.2121 bla bla.
Run Code Online (Sandbox Code Playgroud)
可以使用nextDouble()读取第四个令牌。它读取13个字符,并在可能的情况下将该字符串转换为double。
| 归档时间: |
|
| 查看次数: |
18272 次 |
| 最近记录: |