如何将一个数组放入另一个数组中 - Java

问题描述 投票:0回答:1

我正在尝试将一个数组放入另一个数组中,以便可以输出数字:2、7、32、8、2。我必须以某种方式初始化这些值吗?有点困惑。我尝试了三四循环但结果不同。有一个有点类似的链接:Why is my simple Array only Printing Zeros in java? 我的代码如下。提前谢谢您。

 public class test
 {
     public static void main(String[] args) {
 

   int[] a = {2, 7, 32, 8, 2}; 
   int[] b = new int[a.length];  
   int[] c = new int[b.length];  
   int[][] d = {b}; 


     for(int z = 0; z < b.length; z++){
       System.out.print(b[z] + " ");
     } 

 System.out.println();

     for(int y = 0; y < c.length; y++){
       System.out.print(c.length + " ");
     }

 System.out.println();

     for(int x = 0; x < d.length; x++){
       System.out.print(d.length + " ");
     }


   }
 }
 
 ------------------------
 OUTPUT
 0 0 0 0 0
 5 5 5 5 5
 1
arrays output store
1个回答
0
投票

Java 中有两种不同的数组操作:

  • 初始化数组 - 当您创建具有给定大小和默认值的新数组时(例如,对于
    int
    ,默认值为
    0
    ,对于
    Object
    -
    null
int[] arr = new int[5];  // i.e. arr = {0,0,0,0,0}
  • 将数据写入数组 - 当您将所需日期放入创建的数组中时
arr[0] = 2; arr[1] = 7; arr[2] = 32;
arr[3] = 8; arr[4] = 2;

此外,您可以同时进行这两项操作:

int[] arr = {2,7,32,8,2};

例如从你的片段:

int[] a = { 2, 7, 32, 8, 2 }; // create a new array with given values
int[] b = new int[a.length];  // create a new array with size 5 (a.length = 5) => b = {0,0,0,0,0};
int[] c = new int[b.length];  // create a new array with size 5 (b.length = 5) => c = {0,0,0,0,0};

很明显,这个片段将打印数组的内容

b
,即
{0,0,0,0,0}

for (int id = 0; id < b.length; id++) {
    System.out.print(b[id] + " ");
}

这个将打印数组

c
的内容,即
{0,0,0,0,0}

for (int y = 0; y < c.length; y++) {
    System.out.print(c.length + " ");
}

关于二维数组。在 Java 中,这只不过是数组的数组。每行都是一个数组。

所以当你像这样初始化一个数组时:

int[][] d = { b };

这意味着,您定义了一个包含 1 行的 2D 数组,并且这 1 行包含数组

b
。顺便说一下,二维数组中的每一行可以有不同的长度。 IE。另一种方式:

int[][] d = new int[1][];  // first [] is amount of rows, second - columns
d[0] = b;

要打印二维数组,您必须遍历所有行(第一个循环),然后遍历所有列(第二个循环)。

for (int row = 0; row < d.length; row++) {
    for (int col = 0; col < d[row].length; col++) {
        System.out.print(d[row][col].length + " ");
    }



}
© www.soinside.com 2019 - 2024. All rights reserved.