Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.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
如何声明和创建一个包含3行x 5列的矩阵,该矩阵包含Java中双类型的值?_Java_Matrix - Fatal编程技术网

如何声明和创建一个包含3行x 5列的矩阵,该矩阵包含Java中双类型的值?

如何声明和创建一个包含3行x 5列的矩阵,该矩阵包含Java中双类型的值?,java,matrix,Java,Matrix,有些人告诉我这是第一种选择,但另一些人告诉我这是第二种选择。 行和反列的实际位置在哪里? 谢谢你的帮助 1) Double array[][] = new Double[5][3]; 2) Double array[][] = new Double[3][5]; Java中没有真正的矩阵概念。你指的是一个二维数组,或者换句话说是一个数组数组 编写Double[5][3]将创建一个长度为5的数组,其中包含长度为3的数组,而您的另一个示例将执行相反的操作。因此,你的问题的答案取决于你想如何想象它

有些人告诉我这是第一种选择,但另一些人告诉我这是第二种选择。 行和反列的实际位置在哪里? 谢谢你的帮助

1) Double array[][] = new Double[5][3];

2) Double array[][] = new Double[3][5];

Java中没有真正的矩阵概念。你指的是一个二维数组,或者换句话说是一个数组数组


编写
Double[5][3]
将创建一个长度为5的数组,其中包含长度为3的数组,而您的另一个示例将执行相反的操作。因此,你的问题的答案取决于你想如何想象它。对我来说,最明显的方法是说每个内部数组表示矩阵中的一行,因此我倾向于
Double[3][5]
,然后用一行和一列进行索引就像
array[row][column]
这很有意义。

这个问题通常归结为您喜欢哪种约定,或者哪种约定主要用于您的领域,或者更狭义地说,是编程语言

我发现声明Java是“row-major”。这是我在Java中处理2D数组时始终遵循的约定。虽然,指的是,说明此语言既不是行主调,也不是列主调的部分。相反,它用于存储多维数组,这意味着同一行中的数据连续存储在内存中,但行本身却不是。每行第一个元素的地址存储在指针数组中

尽管不可能将Java内存模型分类为严格的行或列主模型,但Iliffe向量的使用会促使人们将其视为行主模型。因此,要创建包含3行5列的矩阵,应使用:

Double array[][] = new Double[3][5];

这是错误的
Double[5][3]
将创建一个长度为5的数组,其中包含长度为3的数组。很抱歉,这是一个输入错误,更正了我的答案。