急求!!!C 语言或者JAVA 里 带中文字符串定长输出 却不定长的问题

语句:
System.out.printf("%-10s",user);
System.out.printf("%-8d", bb);
结果:
user bb
11 1
啊啊啊 2
啊呜 1

以上。。第一个字符串型的长度都不一样,导致后面也不齐,整形的成功定长了,为什么字符串的不行啊 求大神!!! 回答上的再加 10分!!!
当然就是因为 中文 占得字长不一样才不能对齐啊,所以问你们 解决办法啊 自己写函数太麻烦printf 就那么弱 中文就 输不齐吗 没别的函数啦

你可以自己写一个方法,先把你要输出的内容都放在一个数组里面,再遍历一下这个数组,找到最长一个的那个元素,以它为标准长度输出,其他元素不够长度的,可以补空格,这样可以达到对齐效果
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-03
英文的也可以吧?中文的占两个字符所以导致歪掉了,我想还是自己写个方法,自己判断长度,中间加空格再输出吧。
第2个回答  2012-12-02
System.out.printf("user:%10s",user)
试试追问

不对呢 =。=~

第3个回答  2012-12-02
System.out.printf(user);
System.out.printf( bb);
第4个回答  2012-12-04
考虑汉字和字符占的位数不同了吗
相似回答