有没有办法在java中打印一行,然后回到该行的开头,我尝试使用\ r \ n但是这只会打印一个新行并且不会返回到原始行。
所以基本上如果用户输入“Hello this is lol”
我想打印句子中的所有a(无),所有b等等... 例如。)“e” 那么“他” - >但是,这必须与上面相同,你必须能够看到变化。
有没有办法在java中执行此操作?
答案 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
来删除当前行,但它可能无效。