我真的想要合并我的两个数组,我真的不知道我的代码有什么问题,它一直给我这个结果:
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
答案 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[]
,您可以按照以下步骤操作。
假设您有两个arrays
,如下所示。
int ages[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int temp[] = new int[20];
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++) {