【问题标题】:Java: Delete newline which is already printedJava:删除已打印的换行符
【发布时间】:2022-01-02 16:49:00
【问题描述】:

给定 Java 代码:

System.out.println("hello"); 
System.out.println();
//insert here
System.out.prinln(" world");

有没有办法删除我们在“//insert here”中插入内容的新行,而无需修改代码的其余部分,以便输出来自:

Hello

World

进入:

Hello World

我已经在寻找解决方案,例如print('\b')Thread.sleep(1000);但第一个与我想要的完全相反,后者只会粉碎一切。

编辑:我知道可以简单地使用print isstead

【问题讨论】:

  • 我不这么认为。为什么不使用正确的字符串格式开头?
  • 改用 System.out.print 并在需要换行时使用 System.out.println
  • 这是一个更大的问题的一部分,我只是试图将其简化为最基本的问题

标签: java io


【解决方案1】:

没有真正可移植的方式来做到这一点,因为并非每种终端类型都支持光标向上移动。但是,您可以尝试 ASCII 控制序列。例如ESC [2A 向上移动光标 2 行。不幸的是,如果不知道 'Hello' 的长度,就不可能在打印的 'Hello' 之后定位光标 - 关于这一行已经打印了多少个字符的信息不可用。

【讨论】:

  • Ty 我想我会问我的老师如何解决我练习中的问题,因为在我看来删除某些东西是唯一的方法,但由于这非常困难,我可能误解了一些东西
【解决方案2】:

你可以使用 System.out.print 代替 println

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 2011-12-05
  • 1970-01-01
  • 2011-05-28
  • 2012-04-14
  • 2011-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多