int rows = 5;
int cols = 10;
int[] multD = new int[rows * cols];
for (int r = 0; r < rows; r++)
{
for (int c = 0; c < cols; c++)
{
int index = r * cols + c;
multD[index] = index * 2;
}
}
int [][] twoDim = new int [5][5];
int a = (twoDim.length);//5
int b = (twoDim[0].length);//5
for(int i = 0; i < a; i++){ // 1 2 3 4 5
for(int j = 0; j <b; j++) { // 1 2 3 4 5
int x = (i+1)*(j+1);
twoDim[i][j] = x;
if (x<10) {
System.out.print(" " + x + " ");
} else {
System.out.print(x + " ");
}
}//end of for J
System.out.println();
}//end of for i
12条答案
按热度按时间mlmc2os51#
好好享受!
yrwegjxp2#
在java中,二维数组可以声明为与一维数组相同。在一维数组中,你可以这样写
其中int是数据类型,array[]是数组声明,而
new array
是一个数组,它的对象有五个索引。这样,您就可以编写一个二维数组,如下所示。
在这里
array
是int数据类型。我首先声明了这种类型的一维数组,然后创建了一个3行4列的数组。在你的代码里
意味着您已经创建了一个二维数组,包含五行。第一行有10列。在java中,您可以根据需要为每一行选择列大小。
yxyvkwin3#
请尝试以下操作:
... 是这样的缩写:
请注意,每个元素都将被初始化为的默认值
int
,0
,所以上述也相当于:ar7v8xwq4#
创建包含5行10列的二维数组最常见的习惯用法是:
或者,您可以使用以下与您所拥有的更为相似的方法,尽管您需要显式初始化每一行:
7y4bm7vi5#
这些类型的数组在java中称为锯齿数组:
在这个场景中,数组的每一行都包含不同数量的列。在上面的示例中,第一行包含三列,第二行包含两列,第三行包含五列。您可以在编译时初始化此数组,如下所示:
可以轻松迭代数组中的所有元素:
ecr0jaav6#
也可以按以下方式声明。这不是个好设计,但很管用。
kjthegm67#
实际上java没有数学意义上的多维数组。java所拥有的只是数组的数组,数组中的每个元素也是一个数组。这就是为什么初始化它的绝对要求是第一维度的大小。如果指定了rest,那么它将创建一个用默认值填充的数组。
这也给了我们一个怪癖。子数组的大小不能通过添加更多的元素来改变,但是我们可以通过指定一个任意大小的新数组来实现。
qxsslcnc8#
我们可以声明二维数组,并在声明时直接将元素存储为:
这里int表示存储在数组中的整数类型元素,数组名为'marks'。int是“{”和“}”大括号内表示的所有元素的数据类型,因为数组是具有相同数据类型的元素集合。
回到我们上面写的语句:每一行元素都应该写在花括号内。行和每行中的元素应该用逗号分隔。
现在观察下面的语句:您可以得到3行5列,因此jvm创建3*5=15个内存块。这些块可以单独称为:
注:
如果要存储n个元素,那么数组索引从零开始,到n-1结束。创建二维数组的另一种方法是先声明数组,然后使用new操作符为其分配内存。
将以上两种方法结合起来,我们可以得出:
yr9zkbsy9#
请这样做:
hts6caw310#
尝试:
请注意,在您的代码中,只有2d数组的第一行被初始化为0。第二行到第五行根本不存在。如果你想把它们印出来
null
对他们每个人来说。6fe3ivhb11#
你可以按照别人提到的方式创建它们。还有一点需要补充:您甚至可以用每一行创建一个倾斜的二维数组,不一定有相同数量的collumn,如下所示:
ugmeyewa12#