这个java程序代码是不是错了?

[复制链接]
查看11 | 回复7 | 2011-8-26 02:56:16 | 显示全部楼层 |阅读模式
这个是书上的例子,我按照书上的摘抄下来:publicclassBlak{publicstaticvoidmain(Stringargs[]){Stringstr=\"Javaclass\";System.out.println(\"字符串原来的长度:\"str.length());System.out.println(\"去掉空格后的长度:\"str.trim().length());}}我的疑问是trim()方法是返回字符串的副本,忽略前导空格和尾部空格嘛,然后看到上面的“Javaclass”我数了一下,不可能它的长度是16啊,就算书本Java前面有多少个空格不说明,但是在trim()方法之后得到的字符长度应该是10才对啊,为什么书本显示最后的结果是这样子呢:字符串原来的长度:16去掉空格后的长度:11这是怎么理解呢,是不是书本错了呢?
回复

使用道具 举报

千问 | 2011-8-26 02:56:16 | 显示全部楼层
代码没错,而是书上写错了,前些天我刚帮人审完两本书,一本是java的,另一本是sqlserver的。我帮的这个人是我的一个间接老师,相当有名望,他自己不审,他也不懂java,只是挂他的一个名字而已,真正审的人是我,发现书里写的有好多错误,而且我做的时候已经是三审了,可想现在的出书是多么的不规范,所以,千万不要完全相信书,而应该相信真实的运行结果,事实证明一切嘛,去年我做过一个java培训字校的老师,里边的java教材错误相当之多,都得予以纠正,当然如果是国家教育下发的教材还是要相当慎重的下结论,呵呵。
回复

使用道具 举报

千问 | 2011-8-26 02:56:16 | 显示全部楼层
经鉴定字符串原来的长度:11去掉空格后的长度:10鉴定完毕
回复

使用道具 举报

千问 | 2011-8-26 02:56:16 | 显示全部楼层
唉,书又不都是对的你宁愿去相信书上的也不愿意去相信自己动手测试出来的结果吗要变成书呆子了啊
回复

使用道具 举报

千问 | 2011-8-26 02:56:16 | 显示全部楼层
运行结果是11和10
回复

使用道具 举报

千问 | 2011-8-26 02:56:16 | 显示全部楼层
字符串原来的长度:11去掉空格后的长度:10书上写错了!!!!!!!!!!!
回复

使用道具 举报

千问 | 2011-8-26 02:56:16 | 显示全部楼层
运行后的结果应该是:字符串原来的长度:11去掉空格后的长度:10str.trim()是去除首位空格。书本不一定都是对的,如果Java和class中间有两个空格,那么去除之后可能就是11了最主要的是书上没说明这里有几个空格。楼主的理解是没错的,自己调试一下就明白了
回复

使用道具 举报

千问 | 2011-8-26 02:56:16 | 显示全部楼层
字符串原来的长度:11去掉空格后的长度:10鉴定完毕,书上错了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行