Java获取输入直到ctrl+z

标签 java

我有一个练习,给我 x 个输入,我必须用它创建二叉树:https://www.e-olymp.com/en/problems/3096
我已经尝试过以下代码

Scanner inp=new Scanner(System.in);
        while(true){
            String i=inp.next();
            int n=Integer.parseInt(i);
            thetree.addNode(n,"Boss");
        }

但是当我点击ctrl+z时它给了我类似
的错误 Exception in thread "main" java.util.NoSuchElementException at java.util.Scanner.throwFor(Scanner.java:907) at java.util.Scanner.next(Scanner.java:1416) at BinaryTree.b1.main(b1.java:41) 我怎样才能获得输入直到 ctl+z就像在 C++ 中一样?

最佳答案

您想要使用扫描仪为您提供的众多版本的 hasNext 方法之一。

查看相应的hasNext() javadoc:

如果此扫描器的输入中有另一个标记,则返回 true。此方法可能会在等待输入扫描时阻塞。

next() 只是尝试从扫描仪中读取数据,如果没有任何内容(按下 ctrl-z 时会发生什么),就会失败!

关于Java获取输入直到ctrl+z,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40945651/

相关文章:

java - 如何用Java制作最简单的软件控制ON/OFF硬件?

java - 数组中单个加号的含义

java - Spring Security 开启时无法创建 WebSocket 连接

java - Java 中完全弃用匿名线程?

java - 什么布局管理器会做这个?

java - JAXB,setter/getter 的注解

java - 使用http协议(protocol)将用户数据发送到服务器

java - 如何使用 Java 在印地语和拉丁字符之间音译印地语文本?

java - 在java中搜索二维数组中的一系列值

java - 需要 pdf 渲染器的帮助