java - 从键盘获取输入而不暂停程序

标签 java return java.util.scanner

我正在 Windows 7 上编写 Java,我希望能够使用键盘输入,我只能假设这是标准输入。

我尝试过使用 BufferedInputSystem.inScanner,但它们都需要程序暂停并等待换行或返回!有没有办法只收集和记录使用的数据,而不必等待返回?

最佳答案

这是一个快速解决方案:

public static void main(String[] args) {

    Thread inputThread = new Thread(new Runnable() {
        @Override
        public void run() {

            Scanner scan = new Scanner(System.in);
            String input = "";
            while (true) {
                System.out.println("Type something: ");
                input = scan.nextLine();
                System.out.println("Input: "+input);
            }
        }
    });

    inputThread.start();

    while (true) {

        System.out.println("");
        System.out.println("test");

        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

}

主线程每秒打印“test”。 inputThread 要求用户输入一些内容,然后打印他所写的内容。这只是一个“视觉”解决方案,您当然不想在用户打字时打印某些内容。

关于java - 从键盘获取输入而不暂停程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9348803/

相关文章:

Java 数组绑定(bind)异常

java - 读取文件并将名称和数字存储在两个数组中

java - iText 7 - 将变量值放入pdf文本

java - 如何在android应用程序中验证电话号码?

java - 适用于小型项目的简易 Java ORM

python - 图像转base64 : Why don't I get the same return value while calling the same function in Python?

java - 从 AsyncTask 返回位图文件会卡住 UI 线程

objective-c - "return..."语句是否使 "break;"没有实际意义?

java - 在 if/else 语句的参数中使用 next()

java - Java 新手,请帮助我的程序运行!我的任务是编写一个将整数转换为罗马数字的程序