我想控制台输出一个二维数组,但数组内的数字长度不一,最大的数字有9位,
按照传统的输出加空格或者\t输出结果就不是很美观
比如这样
这是一个11*11的二维数组,我想把他输出成正方形,每列都对齐。
请问怎么做?
这个可以用到C语言中的一个格式控制输出,在JAVA中是这样表示的,System.out.prinf("格式规则",输出的参数值);
示例:
for(int i=0;i<1000;i++){
long random=(long)new Random().nextInt(10000000);
System.out.printf("%-9d",random);
if(i%10==0){
System.out.println();
}
更多用法,请参考C语言prinf的左对齐和右对齐的使用方法。(回帖不易,望采纳!)
输出的时候写一个方法,补上9-length 个空格,保证每一项输出显示的总长度为9:
int value = array[i];
String str = String.valueOf(value);
if(str.length<9){
//补齐剩余的长度
StringBuffer out = new StringBuffer();
for(int i=0;i<9-str.length;i++){
out.append(" ");
}
out.append(value)
print(out.toString());
}