java \t制表符怎么用

liumuchengquan 2015-01-06 01:16:00
查询数据库之后将数据输出到控制台,为了使结果整齐就使用了\t,但是输出的结果是这样。怎么避免这种结果让他正常输出呢?
...全文
2971 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Xiang_Gua 2015-01-07
  • 打赏
  • 举报
回复 2
因为\t应该是占8个字符,你加\t的时候字符串的长度会自动扩张到8位的倍数,所以会出现这个状况,你看你别的名字,比如“姓名:Angle”,中文两个字符,英文一个字符就是(你的冒号应该是英文的吧),这个字符串对应的是10个字符,你在\t的时候他会自动对齐到第二个制表位,即自动扩张到16位 但你的“姓名:Ali”,同样的中文两个字符,英文一个字符,一共刚好8位,这时候你再加\t,这个制表位就不会有效果了,因为你现在的位数正好是8的倍数 解决方法很简单啊,你计算一下最长的位数,然后算一下一共多少位,然后封装个方法看你当前的字符串需要加几个\t就可以了,比如以你现在的例子为准,姓名那一列应该是16位,>8位的姓名(姓名:+姓名)你就加一个\t,<=8位的姓名(姓名:+姓名)你就加两个\t就搞定了
liumuchengquan 2015-01-06
  • 打赏
  • 举报
回复
引用 3 楼 qu1210 的回复:
[quote=引用 2 楼 liumuchengquan 的回复:]
[quote=引用 1 楼 gy40235 的回复:]
楼主,你最好把相关代码贴出来,你这样只贴出相关结果,其他人又不知道你怎么去实现的,不知道你的问题所在,怎么去给你解决问题。

这就是一个循环,里面不断的输出东西。大概就是这样,没有必要贴所有代码吧
for(......){
System.out.print("姓名:"+aaa.getName()+"\t");
System.out.print("性别:"+aaa.getSex()+"\t");
System.out.print("年龄:"+aaa.getAge()+"\t");
System.out.print("电话:"+aaa.getPhone()+"\t");
System.out.println();
}[/quote]
按你的输出应该是整齐的。[/quote]我这是怎么回事?你的数据和我的一样吗?
liumuchengquan 2015-01-06
  • 打赏
  • 举报
回复
引用 4 楼 yuxinjian 的回复:
我试验了一下,按照你的代码输出确实是整齐的
问题是出在Ali这个名字太短了上,你用的确实是我的原数据吗?
yuxinjian 2015-01-06
  • 打赏
  • 举报
回复
我试验了一下,按照你的代码输出确实是整齐的
qzw1210 2015-01-06
  • 打赏
  • 举报
回复
引用 2 楼 liumuchengquan 的回复:
[quote=引用 1 楼 gy40235 的回复:] 楼主,你最好把相关代码贴出来,你这样只贴出相关结果,其他人又不知道你怎么去实现的,不知道你的问题所在,怎么去给你解决问题。
这就是一个循环,里面不断的输出东西。大概就是这样,没有必要贴所有代码吧 for(......){ System.out.print("姓名:"+aaa.getName()+"\t"); System.out.print("性别:"+aaa.getSex()+"\t"); System.out.print("年龄:"+aaa.getAge()+"\t"); System.out.print("电话:"+aaa.getPhone()+"\t"); System.out.println(); }[/quote] 按你的输出应该是整齐的。
liumuchengquan 2015-01-06
  • 打赏
  • 举报
回复
引用 1 楼 gy40235 的回复:
楼主,你最好把相关代码贴出来,你这样只贴出相关结果,其他人又不知道你怎么去实现的,不知道你的问题所在,怎么去给你解决问题。
这就是一个循环,里面不断的输出东西。大概就是这样,没有必要贴所有代码吧 for(......){ System.out.print("姓名:"+aaa.getName()+"\t"); System.out.print("性别:"+aaa.getSex()+"\t"); System.out.print("年龄:"+aaa.getAge()+"\t"); System.out.print("电话:"+aaa.getPhone()+"\t"); System.out.println(); }
Gansuper7012 2015-01-06
  • 打赏
  • 举报
回复
楼主,你最好把相关代码贴出来,你这样只贴出相关结果,其他人又不知道你怎么去实现的,不知道你的问题所在,怎么去给你解决问题。

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧