黑马程序员技术交流社区

标题: 同一代码在不同输出窗口中显示的运行结果不同 [打印本页]

作者: 飘落    时间: 2013-9-12 16:57
标题: 同一代码在不同输出窗口中显示的运行结果不同
本帖最后由 飘落 于 2013-10-20 15:37 编辑
  1. class Demo
  2. {
  3.     public static void main(String[] args)
  4.     {
  5.         System.out.println("abcdef\b\b123");
  6.         System.out.println("abcdef\r123");
  7.     }
  8. }
复制代码
这段代码在Eclipse中输出的结果,和在命令提示符中输出的结果不一样,求解释。

作者: 潘才新    时间: 2013-9-12 20:01
同求,帮顶。
作者: aspoMAN    时间: 2013-9-12 21:34
是因为cmd和eclipse的识别字符不一样吧,eclipse不能识别\b\b,出现了空格,eclipse中对于\r和\n分别是回车、换行,但在windows中,\r返回行首,所以打印abcdef\r123时,读到\r时就跳到行首,读取123,覆盖掉原来的abc,但def还存在,所以打印出123def。
个人见解
作者: Yuan先生    时间: 2013-9-13 08:34

个人认为可能是编解码的问题(有错勿踩)

作者: 落木随风    时间: 2013-9-14 18:22
这是因为Dos下和eclipse下对java的转义字符的解释不一样,像你第一行的退格eclipse直接不能识别时什么,但是dos却可以正常识别并运行,\r也是一样,只不过虽然都能识别但是对这个转义字符的解释又不一样,所以运行的结果也不一样。这种问题估计比较少见,不同的操作系统好像书写规则也不同。感觉不用太在意。
作者: 黄文伯    时间: 2013-9-14 19:58
亲,如问题已解决请将分类的“未解决”改为“已解决”。
以后的问题贴也要及时更改分类哦~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2