Java程序即时显示字符

时间:2015-03-21 19:22:20

标签: java

我想编写一个程序,当它在控制台中输入时立即显示一个字符。例如,输出询问“Enter”。假设我在控制台中写了char'g'。它应该立即显示在控制台中。此外,输入char后,我不想按Enter键。请向我解释如何实现这一目标并解释这一概念。

我试过这段代码:

import java.io.*;

public class input {

    public static void main(String[] args) throws IOException {
        InputStreamReader ir=new InputStreamReader(System.in);
        System.out.println(ir.read());
    }
}

2 个答案:

答案 0 :(得分:0)

根据开发环境,System.console()可能会返回null。就个人而言,我不确定什么是最安全的方法来实例化某种" mock"在这种情况下控制台。

虽然,您可以通过使用像JNativeHook这样的本机键侦听器来创建这种错觉,它可以在没有GUI的情况下侦听键击。按下某个键后,您可以使用System.out.print打印到控制台。这也确保了当用户键入一个键时,它不会输入两次(一次是用户输入它,另一次是用于显示它)。从技术上讲,控制台一旦用户输入就会显示字母;)

答案 1 :(得分:-1)

String randomWords;
Scanner kb = new  Scanner(System.in);
System.out.print("Please enter words: ");
randomWords = kb.nextLine();
System.out.println(randomWords);

如果您想连续获取并打印文本,请将最后两行放在循环中。