在循环中声明多个 java 数组

declaring multiple java arrays in a loop

大家好,感谢您提前提供帮助,这不是真正的代码,这只是我想要实现的想法

for (int i = 1, i< some number ; i ++ )

float  [][] sts + i = new float[9][9];

想法是让二维数组在循环中初始化动态名称

sts1 sts2 sts3 . . . . .

如果您在循环中创建每个二维数组,那么变量(如 sts1)将仅在循环中是局部的。所以在循环之后变量超出范围(但我认为你想在循环之后使用它们,这就是你想要不同名称的原因)。所以要使用创建的变量,你必须使用一个数组。如果你使用一个数组,命名的问题就停止了。

ArrayList<float[][]> l = new ArrayList<float[][]>();

for(int i = 0; i < someNumber; ++i)
{
    l.add(new float[9][9]);
}

您不能在 Java 中动态创建变量名。就这样做

float[][][] sts = new float[someNumber][9][9];

然后你可以在你想使用sts1sts2等的地方使用sts[0]sts[1]

对于您的问题,命名是基于 i 的值顺序进行的,ArrayList 可以完成这项工作,因为您可以对其进行迭代。

然而,一种更通用的方法是使用 Map<String, float[][]>,其中键 [ Map 的 =13=] 是您为数组指定的名称。

Map<String, float[][]> myMap = new HashMap<String, float[][]>();

for(int i = 0; i < someNumber; ++i)
{
    myMap.put("sts" + i, new float[9][9]);
}

然后通过myMap.get(_aName_);

访问每个数组