Java 用行填充矩阵

Java 用行填充矩阵,java,android,arrays,matrix,rows,Java,Android,Arrays,Matrix,Rows,我想用行填充一个矩阵。我正在实时读取数据,我需要用前256个值填充矩阵,然后再填充下256个值,以此类推。。。这是我到目前为止得到的,但当我在控制台中打印它时,它显示的是对象,而不是矩阵,所以我不知道我是否做对了 transformed[0] = scaleEMG(transformed[0]); transformed[1] = scaleEDA(transformed[1]); transformed[2] = scal

我想用行填充一个矩阵。我正在实时读取数据,我需要用前256个值填充矩阵,然后再填充下256个值,以此类推。。。这是我到目前为止得到的,但当我在控制台中打印它时,它显示的是对象,而不是矩阵,所以我不知道我是否做对了

            transformed[0] = scaleEMG(transformed[0]);
            transformed[1] = scaleEDA(transformed[1]);
            transformed[2] = scaleAccelerometer(transformed[2]);
            transformed[3] = scaleAccelerometer(transformed[3]);
            transformed[4] = scaleAccelerometer(transformed[4]);


            double[][] buff = new double[256][6];

            for(int f=0;f<256;f++){
                    buff[f] = transformed;
            }

            Log.d("this is my array", "arr: " + Arrays.toString(buff));
但我总是得到相同的矩阵,我怎么能解决这个问题?正如我所说,打印的第一个矩阵应该是变换后的前256个值,第二个矩阵应该是变换后的下256个值,等等。

您需要使用而不是
数组

Log.d("this is my array", "arr: " + Arrays.deepToString(buff));
因为它就像一个包含对象的对象

数组#深度字符串

返回的“深层内容”的字符串表示形式 指定的数组。如果数组包含其他数组作为元素,则 字符串表示包含其内容等
此方法用于将多维数组转换为字符串

您需要使用而不是
数组。toString
打印二维数组

Log.d("this is my array", "arr: " + Arrays.deepToString(buff));
因为它就像一个包含对象的对象

数组#深度字符串

返回的“深层内容”的字符串表示形式 指定的数组。如果数组包含其他数组作为元素,则 字符串表示包含其内容等
此方法用于将多维数组转换为字符串



“当我在控制台中打印它时,它会显示对象”是什么意思?您的问题是如何显示一些示例输出。问题是因为您当前正在将同一阵列分配给内部2d阵列
buff[f]=transformed
,您希望得到的是什么,提供更多信息如果我打印transformed,它将为我提供一个带有传感器读数的阵列。我每秒读取1000个样本,它会打印每个样本。我说清楚了吗?我buff我需要存储前256个样本,因此转换后的前256个读数,然后是下256个读数,依此类推。许多事情仍然很清楚,比如如何获取数据以及何时何地,但简单的是,你应该做一些事情,比如
buff[f]=first 1d array
where
f-0
然后
buff[f]=第二个1d阵列,其中
f-1,依此类推。我感觉您可能需要保留一个全局变量,并像
buff[f++]=transformed
那样使用它,然后当
transformed
获得下一个值时,我想我理解您的意思,但我不知道如何实际操作。我应该将buff[f]改为buff[f++]?你说的“当我在控制台中打印它时,它会显示对象”是什么意思?您的问题是如何显示一些示例输出。问题是因为您当前正在将同一阵列分配给内部2d阵列
buff[f]=transformed
,您希望得到的是什么,提供更多信息如果我打印transformed,它将为我提供一个带有传感器读数的阵列。我每秒读取1000个样本,它会打印每个样本。我说清楚了吗?我buff我需要存储前256个样本,因此转换后的前256个读数,然后是下256个读数,依此类推。许多事情仍然很清楚,比如如何获取数据以及何时何地,但简单的是,你应该做一些事情,比如
buff[f]=first 1d array
where
f-0
然后
buff[f]=第二个1d阵列,其中
f-1,依此类推。我感觉您可能需要保留一个全局变量,并像
buff[f++]=transformed
那样使用它,然后当
transformed
获得下一个值时,我想我理解您的意思,但我不知道如何实际操作。我应该把buff[f]换成buff[f++]?谢谢,我要看看我得到了什么我还没有得到我需要的,我更新了问题让你理解better@user8559076仍然不清楚如何获得
变换后的
数组,但正如我所说的,您需要将数组分配给
buff
的第一个索引,第二次分配给
buff
的第二个
索引,并确保每次获得新的
变换后的
数组它不是更改已经创建的arrayTransformed的值,而是实时读取数据,每秒读取1000个样本,所以它会打印控制台中读取的每个样本。它给了我什么。我正在这样做,但我不知道如何保证我不会每次都替换转换的值。我该怎么做?我的意思是,转换后的只是一个一维数组,我只需要将其中256个一维数组分组buff@user8559076只有当你在2d数组中存储同一个数组时,只要改变它的值谢谢,我要看看我得到了什么我仍然没有得到我需要的,我更新了问题让你理解better@user8559076仍然不清楚如何获得
变换后的
数组,但正如我所说的,您需要将数组分配给
buff
的第一个索引,第二次分配给
buff
的第二个
索引,并确保每次获得新的
变换后的
数组它不是更改已经创建的arrayTransformed的值,而是实时读取数据,每秒读取1000个样本,所以它会打印控制台中读取的每个样本。它给了我什么。我正在这样做,但我不知道如何保证我不会每次都替换转换的值。我该怎么做?我的意思是,转换后的只是一个一维数组,我只需要将其中256个一维数组分组buff@user8559076只有在通过更改相同数组的值将其存储在2d数组中时,才会发生这种情况