大家好,感谢您提前帮助这不是真正的代码,这只是我想要达到的想法
for (int i = 1, i< some number ; i ++ )
float [][] sts + i = new float[9][9];
这个想法是让二维数组的动态名称在循环中初始化
STS1 STS2 STS3 。 。 。 。
答案 0 :(得分:2)
对于你的问题,根据i
的值顺序命名,ArrayList可以完成工作,因为你可以迭代它。
但是,一种更通用的方法,使您能够通过某些String名称访问数组(即使这是随机的,而不是像您的情况那样是顺序的)将使用Map<String, float[][]>
,其中键{{1 } String
是您为数组指定的名称。
Map
然后按Map<String, float[][]> myMap = new HashMap<String, float[][]>();
for(int i = 0; i < someNumber; ++i)
{
myMap.put("sts" + i, new float[9][9]);
}
答案 1 :(得分:1)
如果在循环中创建每个二维数组,则变量(如sts1)将仅对循环本地。因此在循环之后变量超出范围(但我认为你想在循环之后使用它们,这就是你想要不同名称的原因)。因此,要使用创建的变量,必须使用数组。如果使用数组,命名问题就会停止。
ArrayList<float[][]> l = new ArrayList<float[][]>();
for(int i = 0; i < someNumber; ++i)
{
l.add(new float[9][9]);
}
答案 2 :(得分:0)
您无法在Java中动态创建变量名称。就这样做
float[][][] sts = new float[someNumber][9][9];
然后,您可以使用sts[0]
,sts[1]
来使用sts1
,sts2
等。