回车Java

时间:2012-08-17 18:42:47

标签: java carriage-return

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

所以基本上如果用户输入“Hello this is lol”

我想打印句子中的所有a(无),所有b等等... 例如。)“e” 那么“他” - >但是,这必须与上面相同,你必须能够看到变化。

有没有办法在java中执行此操作?

3 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:2)

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

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

打印出来

Who's there

如果你在Windows上运行它,那么我不能确定他们会做什么,但所有* nix都应该像发布一样。

答案 2 :(得分:0)

这取决于“打印线”的含义。如果您正在谈论OS窗口的命令行,那么您将需要关于输出终端控制字符来控制光标。

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

您可以输出退格符\b来删除当前行,但它可能无效。