当缓冲区中有令牌时,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());
}
}
输出:控制台等待我的输入,当我提供输入时它会关闭。
如果没有当前令牌并且源(在本例中为
System.in
)尚未到达流末尾,则扫描器的方法将阻止更多输入。这将导致它等待您的输入。