在 Java 中,如何在不打印换行符的情况下接受用户输入。如果输入无效,我想给出提示并用回车重置光标。 Console.readLine Scanner.nextInt 和 BufferedReader.read 似乎都在按下回车键时打印换行符。
我希望当用户按下 enter 键提交输入时,光标停留在原处。
谢谢。
最佳答案
你必须重新绘制整个屏幕,或者使用 curses library .
对不起。我知道这不是你想听到的,但它们是中断......这是控制台的局限性,它旨在允许“哑终端”与“智能服务器”通信,并且 I/O 通常在以“逐行”为基础。
所以你明白了为什么我们现代程序员只喜欢 GUI、HTML 以及基本上所有非控制台的东西......因为控制台应用程序在编写时完全、完全、完全是屁股,而且它们看起来像 shazbut也是;-)
干杯。基思。
关于不打印换行符的 Java 用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5856072/