请教一下java中二维数组输出对齐问题

我想控制台输出一个二维数组,但数组内的数字长度不一,最大的数字有9位,

按照传统的输出加空格或者\t输出结果就不是很美观

比如这样

图片说明

这是一个11*11的二维数组,我想把他输出成正方形,每列都对齐。

请问怎么做?

2个回答

这个可以用到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的左对齐和右对齐的使用方法。(回帖不易,望采纳!)

qq_35285184
库啵 你这个很好啊,一行就解决了。
大约一个月之前 回复

输出的时候写一个方法,补上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());
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!