二维数组
我们都知道输出一个二位数组通常需要使用二重循环,但笔者今天遇到了一个非常有意思的问题即用一重循环输出一个二维数组:
题目如下:
起初笔者认为这样给定的数组应该是这样的一个思路。定义一个整形变量i;i从1开始到5结束。然后对应循环i的次数。但随后我想到一旦使用这样的思路的话,那一次循环一定是解决不了的。因为一旦改变了循环的次数,你一定会引入一个新的循环。
题目当中给的暗示
直到我看到了题目中给出的方法Arrays.toString(A)。那么答案就只有一个了,出题者的意思就是考验迭代循环,意在让你把数组的每一行当成一个字符串输出。这样问题就简单了许多,将这个二维数组拆分成五个一维数组,然后直接对应输出这一行就ok了。
public class test {
public static void main(String[] args) {
int [][]A={{1},{1,1},{1,2,1},{1,3,3,1},{1,4,6,4,1}};
for (int x[]:
A) {
System.out.println(Arrays.toString(x));
}
}
程序运行结果
那么答案就很显然了。
关于数组的迭代与Arrays类方法在我的博客数组那章有着详细的介绍在这里就不多赘述了https://blog.csdn.net/weixin_49251636/article/details/119514182
文章中的错误不足之处还请大家指出,多谢。