有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java需要帮助将一维数组的内容传输到二维数组

我解析了一个由特定列和行组成的csv文件,并将该信息放入String[] array1D。例如,如果我打印array1D[0](在索引0处的文件列上是每行都有编号的列),它将打印出所有行号。对于其他专栏来说,情况是一样的。如何将此一维数组的内容转换为多维数组?我尝试过使用嵌套for循环,但我的实现有缺陷,或者是for循环无法实现

编辑: 对于我的csv文件,索引0处的列是对每行进行编号的列。如果我打印出String[0] array1D,它会打印出来

1
2
3
4
5
...

编辑2:事实上我找到了解决问题的方法。我需要把我的数组放到一个2d数组中,这样我就可以执行某些函数,比如对某列中的所有数字求平均值。但是,我可以使用if语句,并将要执行任何函数的列放入新的arraylist中。然后我可以将该函数应用于该arraylist


共 (2) 个答案

  1. # 1 楼答案

    如果知道一行中有多少项,则可以将1d数组分解为2D数组。一旦有了一个标识符,您就可以从那里将数组拆分为单独的行

  2. # 2 楼答案

    我会向你解释这个概念。考虑到我没有确切的信息,我不能给你确切的公式

    首先,您必须确保每列的# of rows列在所有列中都是相同的。为了便于讨论,假设您有10行和4 columns。在单个数组中总共有40个项

    现在是棘手的部分。对于每个为index%columnCount == 0的索引,都是2D数组中的新行。所以在这种情况下,例如0/10 == 0是索引0处的数组10%10 == 0将是索引1中的新行,最后30%10 == 0将是2D数组中的3

    我希望你有这个想法。如果你需要更多的解释,请告诉我