Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用for循环将三个1D合并为一个多维数组_Java_Arrays_Multidimensional Array - Fatal编程技术网

Java 使用for循环将三个1D合并为一个多维数组

Java 使用for循环将三个1D合并为一个多维数组,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,我试图理解数组和循环。所以我想把三个一维数组合并成一个。你能告诉我怎么做吗?你知道有什么好的培训可以让你在编程中更好地理解这个主题吗? 这里我们得到了代码,这就是我现在发现的: 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

我试图理解数组和循环。所以我想把三个一维数组合并成一个。你能告诉我怎么做吗?你知道有什么好的培训可以让你在编程中更好地理解这个主题吗? 这里我们得到了代码,这就是我现在发现的:

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));

}
上市公司{
公共静态void main(字符串[]args){
int[]arr1=新的int[]{1,2,3};
int[]arr2=新的int[]{4,5,6};
int[]arr3=新的int[]{7,8,9};
int[]arrX=新int[3][3];

对于(int i=0;i您接近解决方案,但您只需要一个循环(外部循环):

或更短:

int[][] arrX = new int[][] {arr1, arr2, arr3};
或者从一开始就开始创建它:

int[][] arrX = new int[][] {{1,2,3},{4,5,6},{7,8,9}};
请允许我提到,
数组
是一种非常基本的数据类型-我个人认为应该避免使用
数组
在极端情况下(嵌入式编程、高性能任务等)可能很有用-但通常使用
集合
是一种方法

  • 收藏更容易使用
  • 集合是“真实”类
  • 集合的性能并不像人们想象的那么差

尝试使用
List
s、
Set
s和
Map
s-或将结构化数据存储在您自己类的有意义字段中。

您接近解决方案,但只需要一个循环(外部循环):

或更短:

int[][] arrX = new int[][] {arr1, arr2, arr3};
或者从一开始就开始创建它:

int[][] arrX = new int[][] {{1,2,3},{4,5,6},{7,8,9}};
请允许我提到,
数组
是一种非常基本的数据类型-我个人认为应该避免使用
数组
在极端情况下(嵌入式编程、高性能任务等)可能很有用-但通常使用
集合
是一种方法

  • 收藏更容易使用
  • 集合是“真实”类
  • 集合的性能并不像人们想象的那么差

尝试使用
List
s、
Set
s和
Map
s-或将结构化数据存储在自己类的有意义字段中。

如果要将所有三个数组添加到一个数据结构中,可以使用:

数组的ArrayList, 或者您可以创建一个矩阵,就像您为arrx初始化的矩阵一样

对于int[]数组,不能将三个不同的整数放在一个数组位置。可以将所有三个值求和并存储在一个位置

矩阵版本:在for循环中,您应该这样做

int row = 0;
for (int column = 0; column < 3; column++){
    arrx[row][column] = arr1[column];  //Row zero stores arr1
    arrx[row+1][column] = arr2[column]; //Row one stores arr2
    arrx[row+2][column] = arr3[column]; //Row two stores arr3
}
int行=0;
for(int列=0;列<3;列++){
arrx[row][column]=arr1[column];//第0行存储arr1
arrx[row+1][column]=arr2[column];//第一行存储arr2
arrx[row+2][column]=arr3[column];//第二行存储arr3
}
我喜欢用“行”和“列”这两个词来表示整数,以便于直观地查看


这是行的基本硬编码方式。您可以尝试找出如何动态跟踪行。

如果要将所有三个数组添加到一个数据结构中,可以使用:

数组的ArrayList, 或者您可以创建一个矩阵,就像您为arrx初始化的矩阵一样

对于int[]数组,不能将三个不同的整数放在一个数组位置。可以将所有三个值求和并存储在一个位置

矩阵版本:在for循环中,您应该这样做

int row = 0;
for (int column = 0; column < 3; column++){
    arrx[row][column] = arr1[column];  //Row zero stores arr1
    arrx[row+1][column] = arr2[column]; //Row one stores arr2
    arrx[row+2][column] = arr3[column]; //Row two stores arr3
}
int行=0;
for(int列=0;列<3;列++){
arrx[row][column]=arr1[column];//第0行存储arr1
arrx[row+1][column]=arr2[column];//第一行存储arr2
arrx[row+2][column]=arr3[column];//第二行存储arr3
}
我喜欢用“行”和“列”这两个词来表示整数,以便于直观地查看


这是行的基本硬编码方式。您可以尝试找出如何动态跟踪行。

您的意思是,您想要一个矩阵,其中每一行都等于一个数组?最简单的方式是
int[][]arr4={arr1,arr2,arr3}是的,这是最简单的,但我想用for循环。@ctst是的。你是在做矩阵加法,还是矩阵合并?你的意思是,你想要一个矩阵,其中每一行都等于一个数组?最简单的方法是
int[][]arr4={arr1,arr2,arr3}
是的,这是最简单的,但我想用for循环。@ctst是的。你在做矩阵加法,还是矩阵合并?一点用于使用矩阵的正确索引!只需将
j
更改为column即可。一点用于使用矩阵的正确索引!只需将
j
更改为column即可我无法工作。我不知道这是否真的很重要,但如果您说使用内部for循环可能会更好:“您接近解决方案,但您只需要一个循环(外部循环):”。一些初学者可能会感到困惑,因为外部通常是行。对我们来说,这并不重要。不过,很好的解释!谢谢你的解释。我的缺点是太详细了。现在我知道我想要的每件事。谢谢!我不知道这是否真的重要,但如果你说使用内部For循环可能会更好:“你接近一个解决方案,但你只需要一个循环(外层):”。一些初学者可能会感到困惑,因为外层通常是行。对我们来说,这并不重要。不过,很好的解释!谢谢你的解释。我的缺点是太多了。现在我知道了我想要的每件事。谢谢!