日期:2014-05-20  浏览次数:20654 次

大家帮我解决一个关于数组输出格式的问题,怎样把输出的结果在开头对齐。
原程序代码是:
public   class   LotteryArray
{
public   static   void   main(String[]   args)
{
int[][]   odds=new   int[10][];
for(int   i=0;i <odds.length;i++)
odds[i]=new   int[i+1];
for(int   n=0;n <odds.length;n++)
for(int   k=0;k <odds[n].length;k++)
{
int   lotteryOdds=1;
for(int   i=1;i <=k;i++)
lotteryOdds=lotteryOdds*(n-i+1)/i;
odds[n][k]=lotteryOdds;

}

for(int   row[]:odds)
{
for(int   odd:row)
System.out.printf( "%4d ",odd);
System.out.println();

}

}
}


输出结果是:
      1
      1       1
      1       2       1
      1       3       3       1
      1       4       6       4       1
      1       5     10     10       5       1
      1       6     15     20     15       6       1
      1       7     21     35     35     21       7       1
      1       8     28     56     70     56     28       8       1
      1       9     36     84   126   126     84     36       9       1


我想要把个位的数和十位的数对齐,个位的数和百位的数对齐,应该怎么改变代码呀,比如说结果像下面这样子。
      1
      1       1
      1       2       1
      1       3       3       1
      1       4       6       4       1
      1       5       10     10     5       1
      1       6       15     20     15     6       1
      1       7       21     35     35     21     7       1
      1       8       28     56     70     56     28     8       1
      1       9       36     84     126   126   84     36     9       1


------解决方案--------------------
"%-4d "