我想编写一个程序,当它在控制台中输入时立即显示一个字符。例如,输出询问“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());
}
}
答案 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);
如果您想连续获取并打印文本,请将最后两行放在循环中。