不打印换行符的 Java 用户输入

标签 java newline console-application user-input carriage-return

在 Java 中,如何在不打印换行符的情况下接受用户输入。如果输入无效,我想给出提示并用回车重置光标。 Console.readLine Scanner.nextInt 和 BufferedReader.read 似乎都在按下回车键时打印换行符。

我希望当用户按下 enter 键提交输入时,光标停留在原处。

谢谢。

最佳答案

你必须重新绘制整个屏幕,或者使用 curses library .

对不起。我知道这不是你想听到的,但它们是中断......这是控制台的局限性,它旨在允许“哑终端”与“智能服务器”通信,并且 I/O 通常在以“逐行”为基础。

所以你明白了为什么我们现代程序员只喜欢 GUI、HTML 以及基本上所有非控制台的东西......因为控制台应用程序在编写时完全、完全、完全是屁股,而且它们看起来像 shazbut也是;-)

干杯。基思。

关于不打印换行符的 Java 用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5856072/

相关文章:

Java:strings.xml 中的换行符不起作用

javascript - 在 php 循环中写入 javascript 数组时如何将新行转换为实际\n

java - 如何过滤 HTTP get 响应?

html - CSS数据属性换行符&伪元素内容值

c# - 是否可以将没有结构和有限泛型的 C# 编译到 JVM 中?

c# - 为什么 Main 在旋转新线程时等待,但任务却不是这样

c++ - 非 unicode printf 不起作用

c# - 是否可以使命令提示符上的输出变成不同的颜色? C# 编程

Java:循环思考列表,然后用 if else 检查结果

java - 类工厂方法作为抽象模板方法