Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在循环中命名数组_Java_Arrays_Variables_Loops - Fatal编程技术网

Java 在循环中命名数组

Java 在循环中命名数组,java,arrays,variables,loops,Java,Arrays,Variables,Loops,我不适合我。 好的,如果我能做到这一点: int[]teams = new int[3]; for (int i = 0; i < 3; i++) { teams[i] = i; } int[]团队=新的int[3]; 对于(int i=0;i

我不适合我。

好的,如果我能做到这一点:

int[]teams = new int[3];
for (int i = 0; i < 3; i++)
{
teams[i] = i;
}
int[]团队=新的int[3];
对于(int i=0;i<3;i++)
{
团队[i]=i;
}
除了命名多个数组之外,我如何做类似的事情呢

for (int i = 0; i < 3; i++)
{
int[]i = new int[3];
}
for(int i=0;i<3;i++)
{
int[]i=新的int[3];
}
我已经读过,你不能用变量命名数组,所以我不能仅仅看到如何使用循环生成具有不同名称(基本上不止一个)的数组。

谢谢

您可以执行以下操作(Java):

您可以执行以下操作(C++):


等等。

您可以创建数组数组(有时称为多维数组):


您不能动态生成变量名,但可以通过映射实现相同的效果:

//Store mappings from array name (String) to int arrays (int[])
Map<String, int[]> namedArrays = new HashMap<String, int[]>();
for (int i = 0; i < 3; i++)
{
  //This is going to be the name of your new array
  String arrayName = String.valueOf(i); 
  //Map an new int[] to this name
  namedArrays.put(arrayName, new int[3]);
}

//If you need to access array called "2" do
int[] array2 = namedArrays.get("2")
//存储从数组名(字符串)到int数组(int[]的映射)
Map namedarray=newhashmap();
对于(int i=0;i<3;i++)
{
//这将是新阵列的名称
String arrayName=String.valueOf(i);
//将新int[]映射到此名称
namedarray.put(arrayName,newint[3]);
}
//如果需要访问名为“2”的数组,请执行以下操作
int[]array2=namedarray.get(“2”)

这样做的好处是,您可以拥有多个名称相同的数组,只要它们位于不同的映射中。但请注意,当您将两个或多个数组映射到同一映射中的同一名称时,上一个数组将被覆盖(丢失)。

请澄清您的问题,因为它没有意义(至少对我来说)。你到底想做什么?为什么?您使用的是哪种编程语言?C++还是java?很抱歉,这不是很清楚,我用的是java,这只是我放在一起的一个小例子。基本上我试图创建一组数组,名称是从列表中读取的名称。如果您使用java,为什么要将它标记为C++?就好像你想得到对你毫无用处的答案一样。啊,我真是太傻了,最终数组的名称将需要是一个字符串。所以我不能把它当作二维数组的索引…@outofmylague你说的“数组名”是什么意思?你的意思是想通过字符串查找整数吗?我想创建一组数组,即string[]john=newstring[3];字符串[]标记=新闻字符串[3];从文本文件的名称列表中。如上所述,从int命名只是因为很容易在几行代码中显示它的变化,它最终将从字符串中显示。曾想过将所有名称放入它们自己的字符串数组中,然后是indexof(),以获得索引no。。。。。
int** teams = new int*[3];
for(int i=0; i<3; i++){
   teams[i] = new int[3];
}
int teams[3][3];
for(int i=0; i<3; i++){
    for(int j=0; j<3; j++){
        teams[i][j] = //whatever you want
    }
}
MultiMap foo = new MultiMap();

foo.put("Bob", 1);
foo.put("Bob", 2);
int [][] arr = new int[137][42];
//Store mappings from array name (String) to int arrays (int[])
Map<String, int[]> namedArrays = new HashMap<String, int[]>();
for (int i = 0; i < 3; i++)
{
  //This is going to be the name of your new array
  String arrayName = String.valueOf(i); 
  //Map an new int[] to this name
  namedArrays.put(arrayName, new int[3]);
}

//If you need to access array called "2" do
int[] array2 = namedArrays.get("2")