java 如何获取二维数组值得长度

public class LaDing {

LaDing(int a){
int A[][]=new int[a][a];
for(int i=0;i<a;i++){
int k=i+1;
for(int j=0;j<a;j++){
A[i][j]=k;
k++;
if (k==a+1)
k=1;

if(A[i][j]>0 && A[i][j]<10)
System.out.print("0" + A[i][j]+ " ");
else
System.out.print( A[i][j]+ " ");
}
System.out.println();
}
}
}

public class Demo{

public static void main(String args[]){
LaDing ld=new LaDing(20);

}

}

提问:
因为数字显示我想格式好看点,所以各位我想用"0"补足,但是无法获得二维数字的长度,应该如何获得?

或者有好的修改方法也请修改下,我想的就是比如最大值是1000,那么1位数字就有3个0来补足,2位数字2个0……就这样

谢啦~~

我的解决方案:把输入的a值转化为字符串,每个A数组中值转化为字符串,判断二者长度差别,比a长度短的相应前面加几个0
其他代码没改动,就改动这段
if(A[i][j]>0 && A[i][j]<10)
System.out.print("0" + A[i][j]+ " ");
else
System.out.print( A[i][j]+ " ");
改动后代码为:
public class LaDing {

LaDing(int a){
int A[][]=new int[a][a];
for(int i=0;i<a;i++){
int k=i+1;
for(int j=0;j<a;j++){
A[i][j]=k;
k++;
if (k==a+1)
k=1;
String add="";
String value=String.valueOf(A[i][j]);
String aValue=String.valueOf(a);
if(value.length()<aValue.length()){
int p=aValue.length()-value.length();
for(int s=0;s<p;s++){
add+="0";
}
}
System.out.print(add+A[i][j]+" ");

}
System.out.println();
}
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-26
//这个好办输出这么写就对齐了:
String a="00000";
String b=""+ A[i][j];
String c=(a+b).substring((a+b).length()-b.length());
System.out.print(c+" ");
第2个回答  2011-04-26
String.format(0%dxy,z);自己去搜一下吧。用这个方法补零,0是占位符,你要补充的字符,后面是位数什么的
相似回答