黑马程序员技术交流社区

标题: 打印制表符 不整齐 [打印本页]

作者: 李大伟    时间: 2013-3-23 21:25
标题: 打印制表符 不整齐

大家帮忙看看,我这个打印制表符为什么不整齐呢,求详解,代码已经检查过了,没问题。

作者: 朱盛文    时间: 2013-3-23 21:51
你得把代码贴上来看看呀,光这么说谁知道什么问题呀
作者: 黄玉昆    时间: 2013-3-23 21:52
请把代码贴出来,谢谢
我也出现过这样的情况,应该是你的toString方法有问题
  1. public String toString()
  2.         {
  3.                 return "student["+name+", "+ma+", "+cn+", "+en+"]";
  4.         }
复制代码
注意其中的那个逗号后面还要有个空格", ",我i用红色标出来了。


作者: 张海洋    时间: 2013-3-23 21:53
感觉是循环或者输出有问题,不知道对不对
作者: 谢洋    时间: 2013-3-23 23:05
跟制表符有关:一个制表符占八个字节
你数一下打印结果你会发现,每行的第二个字符串的开位是8的整数倍,这就是制表符的作用

作者: 胡志超    时间: 2013-3-24 07:28
中间用制表符分隔,不能用单纯的空格
作者: 李大伟    时间: 2013-3-25 10:32
谢谢,大家了, 我先试试
作者: 李大伟    时间: 2013-3-25 10:39
黄玉昆 发表于 2013-3-23 21:52
请把代码贴出来,谢谢
我也出现过这样的情况,应该是你的toString方法有问题注意其中的那个逗号后面还要有 ...

兄台 我照你这个改了,确实有效,能仔细分析分析为什么吗?
作者: 刘渝灵    时间: 2013-3-25 17:04
李大伟 发表于 2013-3-25 10:39
兄台 我照你这个改了,确实有效,能仔细分析分析为什么吗?

一个制表符占8个字节,制表符后面的字符串总是从8字节的整数倍位置开始,因为有些行开始的字符串已经超过了3个8字节所以后面跟着的第二个字符串只能从第4个8字节位置开始。原因上来说,是因为每行第一个字符串长度不一,就这个实例,可以在输出语句中多加2个制表符(\t)试试




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