在java中组合两个不同的数组

时间:2015-07-17 11:30:41

标签: java

我真的想要合并我的两个数组,我真的不知道我的代码有什么问题,它一直给我这个结果:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 20
    at javaDay3.ArrayExpanding.main(ArrayExpanding.java:17)

我想查看的结果是:

    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0

请帮我查一下我的代码有什么问题: 我想用循环

手动组合两个数组
package javaDay3;    
public class ArrayExpanding {    
    public static void main(String[] args) {            
        int ages [] = {0,1,2,3,4,5,6,7,8,9}; // my first array
        for( int i = 0; i < ages.length; i++) {         
         int temp [] = new int [20];// my bigger and 2nd array
         for(int ix = 0; ix < temp.length; ix++) {          
          for(int ixx = 0; ixx <= temp.length; ixx++) {
            temp [0] = ages [0] ;               
            System.out.println(temp[ixx]);
          }
         }
        }
      }
}

我应该添加或删除某些内容请帮助我使用Eclipse并使用Java

7 个答案:

答案 0 :(得分:2)

你可以尝试这种方法:

static int[] addElement(int[] a, int e) {
    a  = Arrays.copyOf(a, a.length + 1);
    a[a.length - 1] = e;
    return a;
}

你给它列表(a)和你要添加的元素(e),它返回带有添加元素的列表。

如果你想为多个项目做这件事你可以循环它,如下所示:

for(int i = 0; i < ages.length; i++) {
    addElement(temp, ages[i]);
}

答案 1 :(得分:0)

这就是你想要的,

public static void main(String[] args) {

        int ages[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
        for (int i = 0; i < ages.length; i++) {
            // System.out.println(ages[i]);
        }

        int temp[] = new int[20];
        for (int ix = 0; ix < temp.length; ix++) {

        }

        for (int ixx = 0; ixx < temp.length; ixx++) {
        if (ages.length > ixx) {
            temp[ixx] = ages[ixx];
        }
        System.out.println(temp[ixx]);
    }

    }

<强>输出

0
1
2
3
4
5
6
7
8
9
0
0
0
0
0
0
0
0
0
0

答案 2 :(得分:0)

如果您想将ages[]中的所有元素添加到temp[],您可以按照以下步骤操作。

  1. 假设您有两个arrays,如下所示。

    int ages[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    int temp[] = new int[20];
    
  2. 2.然后迭代ages array并将每个元素的值分配给temp array

        for(int i = 0; i < ages.length; i++) {
            temp[i]=ages[i];
        }
    

    3。现在,您的temp array包含您想要的内容。您可以打印temp array

        for(int i=0;i<temp.length;i++){
            System.out.println(temp[i]);
        }
    

    或者

        System.out.println(Arrays.toString(temp));
    

    例如:

        int ages[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
        int temp[] = new int[20];
        for (int i = 0; i < ages.length; i++) {
            temp[i]=ages[i];
        }
        for(int i=0;i<temp.length;i++){
            System.out.println(temp[i]);
        }
    

答案 3 :(得分:0)

  for(int ix = 0; ix < temp.length; ix++) 
  {
    if(ages.length>ix)//ages having lengh 10
        temp [ix] = ages [ix] ;
        else
        temp [ix] = 0 ;//if ages length exceeds
        System.out.println(temp[ix]);       
  }

<强>输出:

0
1
2
3
4
5
6
7
8
9
0
0
0
0
0
0
0
0
0
0

答案 4 :(得分:0)

使用System类中的arraycopy方法。

[{jj=},{FBDF=DFHBDF},{jj=abc}]

答案 5 :(得分:0)

要从一个数组复制到另一个数组,请遍历数组并将其分配给另一个数组。

 int a[] = { 1, 2, 3, 4, 5, 6 };
 int temp[] = new int[a.length];

 for (int i = 0; i < a.length; i++) {
     temp[i] = a[i];
   }

答案 6 :(得分:0)

只需删除“等于”。

更改行:

for (int ixx = 0; ixx <= temp.length; ixx++) {

用这个:

for (int ixx = 0; ixx < temp.length; ixx++) {