黑马程序员技术交流社区
标题:
同一代码在不同输出窗口中显示的运行结果不同
[打印本页]
作者:
飘落
时间:
2013-9-12 16:57
标题:
同一代码在不同输出窗口中显示的运行结果不同
本帖最后由 飘落 于 2013-10-20 15:37 编辑
class Demo
{
public static void main(String[] args)
{
System.out.println("abcdef\b\b123");
System.out.println("abcdef\r123");
}
}
复制代码
这段代码在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
11.jpg
(7.72 KB, 下载次数: 30)
下载附件
2013-9-13 08:32 上传
个人认为可能是编解码的问题(有错勿踩)
作者:
落木随风
时间:
2013-9-14 18:22
这是因为Dos下和eclipse下对java的转义字符的解释不一样,像你第一行的退格eclipse直接不能识别时什么,但是dos却可以正常识别并运行,\r也是一样,只不过虽然都能识别但是对这个转义字符的解释又不一样,所以运行的结果也不一样。这种问题估计比较少见,不同的操作系统好像书写规则也不同。感觉不用太在意。
作者:
黄文伯
时间:
2013-9-14 19:58
亲,如问题已解决请将分类的“未解决”改为“已解决”。
以后的问题贴也要及时更改分类哦~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2