在java中二维数组用到的比较少,对于二维数组的遍历并不难,通过for循环,增强for很简单就可以实现,不过我们知道对于递归可以简单理解为循环,那么有没有想过用递归进行遍历二维数组呢?
对于递归,个人理解为,自己调用自己的方法,从而实现循环功能,最重要的两点:1 要有出口,避免陷入死循环,2 要注意不要调用的次数过多,防止内存报错;
下面就简单尝试了一下用递归解决二维数组遍历问题,对于想法比较清奇的朋友做个参考。
public class digui {
public static void main(String[] args) {
int [][] a={ {1,2,3},{4,5,6},{7,8,9,10}};
digui(a,0,0);
}
private static void digui(int[][] a, int i, int j) {
if (i!=a.length) {
if (j==a[i].length-1) {
System.out.println(a[i][j]);
digui(a, ++i, 0);
}else if (i<a.length){
System.out.println(a[i][j]);
digui(a, i, ++j);
}
}
}
}