2

有没有办法在java中打印一行然后回到该行的开头,我尝试使用 \r 但是这只会打印一个新行并且不会返回到原始行。

所以基本上如果用户输入“你好,这是大声笑”

我想打印句子中的所有 a (无)、所有 b 等……例如)" e " 然后 "He " --> 但是,这必须与上面相同,并且您必须能够看到变化。

有没有办法在java中做到这一点?

4

3 回答 3

2

我在我的 Mac 上运行了这个,它是下面的 FreeBSD:

public static void main (String[] args) {
  System.out.println("Hello there\rWho's");
}

打印出来了

Who's there

如果您在 Windows 上运行它,那么我无法确定它们会做什么,但所有 *nixes 的行为都应该与发布的一样。

于 2012-08-17T19:16:50.680 回答
2

这不是一个真正的 java 问题,而是更多地与您的终端/控制台的行为有关。

您正在发送正确的字符以返回到行 '\r' 的开头,但听起来您的控制台没有正确处理这个问题。

您还应该使用print()and notprintln() 函数(或在您用来编写的特定对象上调用任何方法)。该println()函数将添加一个 '\n' 字符,该字符将导致出现新行。

于 2012-08-17T18:48:05.440 回答
0

这取决于您所说的“打印一行”是什么意思。如果您在谈论操作系统窗口的命令行,那么您将需要输出终端控制字符来控制光标。

这在很大程度上取决于您使用的操作系统,但有一些库输出可以使其更简单。

您也许可以输出退格字符\b来擦除当前行,但它可能不起作用。

于 2012-08-17T18:47:42.427 回答