首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

JAVA输出中 输出宽度有关问题

2012-05-11 
JAVA输出中 输出宽度问题在JAVA中我用System.out.format()输出一些东西,比如其中有中文与字母例:你好jav

JAVA输出中 输出宽度问题
在JAVA中我用 System.out.format();输出一些东西,比如其中有中文与字母 例:"你好java"

String s = "你好java";
我使用的是 System.out.format("%10s",s); 这种语法,但是这种控制的是 汉字与字母都是一个宽度。

我想控制输出宽度,汉字占用2个宽度,字母占用1个宽度。请教各位一下问如何控制 ?



[解决办法]
%ms,其中m代表输出字符的个数,也就是最终打印的宽度。
如果你非要按照字节个数来加以控制的话,那就通过s.getBytes().length进行判断,到底是需要补齐空格还是截断字符串。
奉劝啊,最好别这么干(根据你自己的需要):
1.汉字在不同的编码下所占的字节个数并不一致,有些是2个字节,有的是3个字节;
2.一个汉字本生就是需要几个字节来存储的,硬要拆开了,那就什么都不是了。
[解决办法]
"你好".getBytes("utf-8").length //或者gbk
utf-8:汉字三字节
gbk:汉字两字节

热点排行