java不规则数组杨辉,2013计算机二级Java多维数组学习教程

本文详细介绍了Java中的二维数组,包括如何遍历二维数组和处理不规则数组。通过实例展示了如何使用Java实现杨辉三角形,这是一种二项式系数在三角形中的几何排列。程序代码演示了杨辉三角形的生成,并提示读者可以进一步优化显示效果。此外,还强调了Java二维数组在访问时需要注意数组边界,以避免下标异常。
摘要由CSDN通过智能技术生成

5.2.4 二维数组应用

1.二维数组元素的遍历

在一维数组中,遍历数组元素使用如下语句:

for(int i=0;iSystem.out.println(a[i]);

}

在二维数组中可以使用如下语句遍历数组元素:

}

System.out.println();

}

特别注意,因为在二维数组中存在不规则数组的情况,所以在访问时需要使用a[i].length的方式来限定二维数组第二维的元素个数,否则会发生数组下标异常错误。

2.利用不规则数组实现杨辉三角形

杨辉三角形,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列。其形式如下:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

我们可以利用java的不规则数组来存储这些信息,其运算规律为: a[m][n]=a[m-1][n-1]+a[m-1][n];当m=n或者n=0时,杨辉三角形的元素a[m][n]=1;否则,杨辉三角形的元素a[m,n]=a[m-1,n-1]+a[m-1,n] 。其中,m,n为三角形的行和列,均从0开始。

程序如下:

[例5-12]

class YangHui {

public void paint(int n){//输出杨辉三角形的值,n为行数

int a[][]=new int[n][];

for(int i=0;ia[i]=new int[i+1];//定义不规则数组

}

for(int i=0;i

a[i][j]=1;

}

else

a[i][j]=a[i-1][j-1]+a[i-1][j];

}

}

//不规则数组的输出

}

System.out.println();//输出换行

}

}

}

public class Test5_12 {

public static void main(String[] args) {

YangHui yh = new YangHui();

yh.paint(10);

}

}

运行结果如下:

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

读者可以通过yh.paint(n)的方式很方便的输出具有n行杨辉三角形的数据。读者也可以试着修改例[5-12]让其显示效果更好(如显示效果为一个等腰三角形)。

5.3小结

本章对数组这种引用数据类型做了较详细的介绍,对数组的声明、初始化及数组元素的使用做了详细的说明,并给出了一维数组的几个典型的应用,在二维数组的中特别指出了Java数组与其他编程语言的不同,给出了不规则数组的概念,并给出了一个不规则数组的具体应用实例。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值