在循环中声明多个 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];
然后你可以在你想使用sts1
、sts2
等的地方使用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_);
访问每个数组
大家好,感谢您提前提供帮助,这不是真正的代码,这只是我想要实现的想法
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];
然后你可以在你想使用sts1
、sts2
等的地方使用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_);