【发布时间】:2021-07-02 10:29:21
【问题描述】:
我正在尝试在 processing.js 中编写一个函数,该函数将一个数组列表作为输入,其中包含 4 个 int[] 类列表,每个列表包含 4 个元素。这就是我表示矩阵的方式,数组列表中的每个列表都表示一行。数组列表的索引 0 是顶行,数组列表的索引 3 是底行。我想编写一个函数来转置这个数组列表,但我遇到了障碍。这是我到目前为止的代码(注意:Z 是一个用零填充的 4x4 数组列表):
ArrayList<int[]> Transpose(ArrayList<int[]> M){
ArrayList<int[]> A=Z;
for (int q=0; q<4; q++){
int[] atemp={};
for (int p=0; p<4; p++){
int[] mtemp=M.get(p);
int i=mtemp[q];
append(atemp,i);
}
A.add(atemp);
}
return A;
}
当我尝试将i 附加到atemp 时,我的问题似乎发生了。当我在将atemp.length 添加到A 之前打印出atemp.length 时,它打印的长度为0。我不确定为什么atemp 一直为空,我想知道是否有人可以帮助我了解发生了什么以及如何修复它。
【问题讨论】:
-
我实际上需要将
ArrayList<int[]> A=Z;行更改为ArrayList<int[]> A=new ArrayList<int[]>();以便它返回一个 4x4 数组列表而不是 8x4,但我仍然有同样的问题。
标签: javascript arrays processing