我正在尝试理解数组和循环。所以我想将三个一维数组合并为一个。你能给我一些建议吗?你知道在编程中很好地理解这个主题的任何好的培训吗? 我们得到了代码,这就是我现在想出的:
public class Company {
public static void main(String[] args) {
int[] arr1 = new int[]{1, 2, 3};
int[] arr2 = new int[]{4, 5, 6};
int[] arr3 = new int[]{7, 8, 9};
int[][] arrX = new int[3][3];
for(int i = 0; i<3; i++){
for (int j = 0; j < 3; j++){
arrX[i][j] = arr1[i] + arr2[j]; //Dont how to resolve this without using any "Java built-in methods"
}
}
for(int x = 0; x < arrX.length; x++){
for (int y = 0; y <arrX[x].length; y++){
System.out.print(arrX[x][y] + " ");
}
}
// System.out.println(Arrays.deepToString(tabx));
}
最佳答案
您已接近解决方案,但您只需要一个循环(外部循环):
for (int i = 0; i<3; i++) {
arrX[1][i] = arr1[i];
arrX[2][i] = arr2[i];
arrX[3][i] = arr3[i];
}
迭代这三个数组只有将它们合并到一个数据结构中后才有效。
当然更简单的方法是使用这个:
arrX[1] = arr1;
arrX[2] = arr2;
arrX[3] = arr3;
或更短:
int[][] arrX = new int[][] {arr1, arr2, arr3};
或者从一开始就开始创建它:
int[][] arrX = new int[][] {{1,2,3},{4,5,6},{7,8,9}};
请允许我提一下,数组
是一种非常基本的数据类型 - 在我看来应该避免。 Arrays
可能在极端情况下(嵌入式编程、高性能任务等)很有用 - 但通常使用 Collection
是可行的方法。
- 集合更易于使用
- 集合是“真正的”类
- 集合并没有人们想象的那么糟糕
尝试使用 List
、Set
和 Map
- 或者将结构化数据存储在您自己的类的有意义的字段中。
关于java - 使用for循环将三个一维合并为一个多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35633812/