有没有办法在java中打印一行然后回到该行的开头,我尝试使用 \r 但是这只会打印一个新行并且不会返回到原始行。
所以基本上如果用户输入“你好,这是大声笑”
我想打印句子中的所有 a (无)、所有 b 等……例如)" e " 然后 "He " --> 但是,这必须与上面相同,并且您必须能够看到变化。
有没有办法在java中做到这一点?
有没有办法在java中打印一行然后回到该行的开头,我尝试使用 \r 但是这只会打印一个新行并且不会返回到原始行。
所以基本上如果用户输入“你好,这是大声笑”
我想打印句子中的所有 a (无)、所有 b 等……例如)" e " 然后 "He " --> 但是,这必须与上面相同,并且您必须能够看到变化。
有没有办法在java中做到这一点?
我在我的 Mac 上运行了这个,它是下面的 FreeBSD:
public static void main (String[] args) {
System.out.println("Hello there\rWho's");
}
打印出来了
Who's there
如果您在 Windows 上运行它,那么我无法确定它们会做什么,但所有 *nixes 的行为都应该与发布的一样。
这不是一个真正的 java 问题,而是更多地与您的终端/控制台的行为有关。
您正在发送正确的字符以返回到行 '\r' 的开头,但听起来您的控制台没有正确处理这个问题。
您还应该使用print()
and notprintln()
函数(或在您用来编写的特定对象上调用任何方法)。该println()
函数将添加一个 '\n' 字符,该字符将导致出现新行。
这取决于您所说的“打印一行”是什么意思。如果您在谈论操作系统窗口的命令行,那么您将需要输出终端控制字符来控制光标。
这在很大程度上取决于您使用的操作系统,但有一些库输出可以使其更简单。
您也许可以输出退格字符\b
来擦除当前行,但它可能不起作用。