黑马程序员技术交流社区

标题: 一个很神奇的问题,关于打印张三和李四 [打印本页]

作者: 芦子骐    时间: 2013-4-11 01:27
标题: 一个很神奇的问题,关于打印张三和李四
今天又是半夜写代码……遇到鬼了……下面直接上代码:

        //用迭代器取出TreeSet集合中的所有对象元素
        for(Iterator<Student> it = ts.iterator();it.hasNext();)
        {
            Student s = (Student)it.next();
            System.out.println("姓名:"+s.getName()+"\t"+"年龄:"+s.getAge()+""+"\t"+"总分:"+s.getExPeSum());
        }
        //注:我的TreeSet集合中有名为:zhangSan,liSi,wangWu, zhaoLiu, zhouQi的五个学生类对象。

我想打印出这样的效果:
姓名:wangWu        年龄:20.0        总分:522.0
姓名:zhangSan        年龄:20.0        总分:522.0
姓名:zhouQi                年龄:20.0        总分:432.0
姓名:liSi                         年龄:20.0        总分:423.0
姓名:zhaoLiu                年龄:20.0        总分:353.0

可是大一出来的总之这样:
姓名:wangWu        年龄:20.0        总分:522.0
姓名:zhangSan        年龄:20.0        总分:522.0
姓名:zhouQi                年龄:20.0        总分:432.0
姓名:liSi  年龄:20.0 总分:423.0
姓名:zhaoLiu                年龄:20.0        总分:353.0

但是创建对象的时候在李四这个名字后面加一个空格“liSi_”这样打印出来就正常了,我在想这是不是字符占位的问题?



作者: 续圆凯    时间: 2013-4-11 02:06
一个\t 等于8个空格。。。如果这样打印的 话  打印结果的  wangwu和zhaoqi应该是对齐的呀。。

作者: 胡滨    时间: 2013-4-11 07:23
{:soso_e144:} 这个楼主头像很犀利啊。

看样子好像是少了\t,楼主这么细心的人,应该不会少,要不不会愁成这样吧 {:soso_e142:}


作者: 黄玉昆    时间: 2013-4-14 14:24
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢
作者: 钟逊    时间: 2013-4-14 15:31
续圆凯 发表于 2013-4-11 02:06
一个\t 等于8个空格。。。如果这样打印的 话  打印结果的  wangwu和zhaoqi应该是对齐的呀。。
...

制表符不能和8个空格等价起来,它会跳到下一个制表位置。
比方说假设你前面已经有2个字符,那么下一个制表符就会“等价”于6个空格。




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