gpt4 book ai didi

java - 继续可以用扫码输入

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:08:27 24 4
gpt4 key购买 nike

为什么在下面的代码中,您可以连续向扫描仪输入数字?我觉得代码会在输入 double 时导致无限循环,因为

userInput.hasNextDouble()

将始终为真,因为 userInput 的值在整个循环中不会改变。

我想解释为什么 while 条件不会导致无限循环。

 public class Testing
{
public static void main(String[] args)
{
System.out.println("Enter numbers: ");
Scanner userInput = new Scanner(System.in);
int currentSize = 0;
while (userInput.hasNextDouble())

{

double nextScore = userInput.nextDouble();

currentSize++;


}
System.out.println(currentSize);
}




}

最佳答案

扫描器类基本上扫描输入流中的标记。当您调用 hasNextDouble() 或任何 hasNext 方法时,它将尝试查看流中的下一个标记。它将等到 token 存在后再返回值,然后调用 nextDouble() 将获取该 token 并将其从流中清除,因此当您返回 hasNextDouble() 时它将等到您将另一个 token 输入到流中。

关于java - 继续可以用扫码输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17637277/

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