所以我对Java编程很新,而且我正在使用netbeans。我的问题是我已经有5个数组,但是我想把它们的所有数据放到一个大数组中,以便以后在我的项目中更好地引用它。我已经研究了一些,但我很困惑,没有它适用于我的代码本身或更好的解释。我认为它有多个方括号,但我不确定如何做到这一点。
int[] particle1;
particle1 = new int[3];
particle1[0] = 0; //x
particle1[1] = 0; //y
particle1[2] = 1; //weight
int[] particle2;
particle2 = new int[3];
particle2[0] = 0; //x
particle2[1] = 2; //y
particle2[1] = 1; //wieght
int[] particle3;
particle3 = new int [3];
particle3[0] = 0;
particle3[1] = 4;
particle3[2] = 1;
String[] allPos;
allPos = new String[5];
allPos[0] = particle1;
allPos[1] = particle2;
allPos[2] = particle3;
System.out.println("The position of all of them and there weight is: " +
java.util.Arrays.toString(allPos));
System.out.println(" Hello World!");`
答案 0 :(得分:2)
int[][] particles=new int[3][3];
particles[0][0]=0; //particle 1 x value
particles[0][1]=0; //particle 1 y value
particles[0][2]=1; //particle 1 weight value
particles[1][0]=0; //particle 2 x value
particles[1][1]=2; //particle 2 y value
particles[1][2]=1; //particle 2 weight value
particles[2][0]=0; //particle 3 x value
particles[2][1]=4; //particle 3 y values
particles[2][2]=1; //particle 3 weight value
答案 1 :(得分:1)
你需要的是一个双数组,例如:
int[][] particle = new int[][] {{0, 1, 1}, {1, 2, 3}, {1, 2, 3}};
答案 2 :(得分:1)
如果您正在寻找'多维'数组,可以这样设置:
int[][] allPos = new int[][5];
allPos[0] = particle1;
allPos[1] = particle2;
allPos[2] = particle3;
但是,如果您希望将5个数组“连接”为1个长数组,您可能需要查看以下问题:How can I concatenate two arrays in Java?
如果不引入库,您的代码可能如下所示:
int[] concat(int[] A, int[] B) {
int aLen = A.length;
int bLen = B.length;
int[] C = new int[aLen+bLen];
System.arraycopy(A, 0, C, 0, aLen);
System.arraycopy(B, 0, C, aLen, bLen);
return C;
}
然后
int[] allPos = concat(particle1, particle2);
allPos = concat(allPos, particle3);
//result = concat(allPos, particle4)
答案 3 :(得分:1)
这将是一个二维数组:
int[][] particle = new int[3][3];
(其中第一个[]指向粒子,第二个[]指向其值)
示例:particle[0][2] = 1;
(相当于particle1[2] = 1;
)