用Java编写不规则数组

 

对Java中不规则数组的理解:

Java实际上没有多维数组,只有一维数组,多维数组被解释为“数组的数组”。

这里是一个Java核心技术里的例子,结合例子记录我自己的理解:

package array;

public class Loottery {
 public static void main(String[] args)
 {
  final int NMAX=10;//加final表示NMAX值不变
  
  //allocate triangular array
  
int[] [] odds=new int[NMAX+1][];//二维数组有11行,列数不定
  for (int n=0;n<=NMAX;n++)
   odds[n]=new int[n+1];//第n行有n+1列
  
  //fill triangular array
  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;//第n行,第k列的数值
    
   }
  for (int[] row :odds)
  {
   for(int odd:row)//嵌套输出数组中的每一个数值
    System.out.printf("%4d",odd);//输出十进制数
   System.out.println();
  }
 }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值