hasNext() 和 hasNextInt() 的使用

问题描述 投票:0回答:1

当缓冲区中有令牌时,hasNext() 返回 True,否则返回 false;如果缓冲区中的令牌可以解释为 int,hasNextInt() 返回 true,否则返回 false。

如果万一缓冲区为空,那么它们应该返回 false,但是当我在代码中执行此操作时,它们会保留屏幕以获取用户的输入。为什么会这样?

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.println(input.hasNext());
    }
}

输出:控制台等待我的输入,当我提供输入时它会关闭。

java java.util.scanner inputstream
1个回答
1
投票

如果没有当前令牌并且源(在本例中为

System.in
)尚未到达流末尾,则扫描器的方法将阻止更多输入。这将导致它等待您的输入。

© www.soinside.com 2019 - 2024. All rights reserved.