gpt4 book ai didi

Java 扫描器 nextLong

转载 作者:行者123 更新时间:2023-11-29 03:29:18 29 4
gpt4 key购买 nike

Stackoverflow,你好。我无法理解这段代码的输出

public static void main (String[] args)
{
String context = "0100 55 3L 62D 127 6F (int)7";
Scanner s = new Scanner(context);
while(s.hasNextLong()) {
System.out.print(s.nextLong() + ",");
}
}

输出是100,55,但我不明白为什么 127 没有包含在输出中?我的意思是为什么输出不像 100,55,127,

最佳答案

Scanner#nextLong()不解析 Long 文字,它将数字解析为 longs,因此它无法在 3L 处找到一个并退出循环,即。 hasNextLong()返回 false

注意javadoc

Scans the next token of the input as a long.

在这种情况下,下一个标记是 3L,它不会解析为 Long。试试吧

Long.parseLong("3L");

会给你一个NumberFormatException .

关于Java 扫描器 nextLong,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19227307/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com