我希望在用户输入文字之后的一行上打印文字。
String userInput;
System.out.println("Hello");
userInput = In.getString();
//I want a System.out.print(""); right here, but I want it to appear while
//the user is still typing their input.
打印:“你好”
用户正在获取输入
打印“我在用户键入的同时打印此内容”
答案 0 :(得分:1)
如评论中所述,无法在原始Java控制台应用程序中捕获击键。
他可以使用gui应用程序,例如使用AWT/Swing GUI
。
由于这可能是解决您的问题的绝症,因此您应该知道Java支持控制台输出的编辑。
例如如果当前输出具有hello
,则打印\b
字符将从控制台删除一个字符,看起来像hell
。
也许您可以在这些方面进行思考并构建您的功能。
答案 1 :(得分:0)
您可以将控制台置于原始模式。没有内置的独立于平台的方法。这可能是您可以实现的解决方案,
Non blocking console input in Python and Java
从here获得了它。那里有更多可能有用的解决方案