使用循环创建二维数组

时间:2018-11-18 16:28:33

标签: java arrays

我问这个问题是因为我需要在程序运行时创建一个二维数组。网站上的所有其他问题都已经在数组内部存储了数据,这是我所没有的,因此我无法按照这些教程进行操作。

在此代码段之前,我已经正确初始化了所有变量。

不好意思,这是我在这里问的第一个问题

for (int i = 0; i < numOfVals; i++){
    numSpc = 50 - values[i];
    for (int k = 0; k < 51; k++){
        for (int j = 0; j < values[i]; j++){
            twoDim[k[j]]=1;
        }
        for (int m = 0; m < numSpc; m ++){
            twoDim[k[j]]=0;
        }
    }
}

我在这里想要做的是在twoDim中创建一个名为k的数组,然后在其中编辑值。它希望它看起来像twoDim[[0,0,0,1,1,0,1,0,1], [1,1,1,0,0,0,1,0,1]];,但每个内部数组(k)中将有50个值。

问题是,我不断收到两种错误。一种说法是找不到变量j(cannot find symbol),另一种说法是array required, but int found关于k。我该如何解决?

2 个答案:

答案 0 :(得分:0)

问题是:

  1. j的范围仅限于其for-loop。您无法在循环外访问它。
  2. twoDim[k[j]]=1;twoDim[k[j]]=0。 k的类型为int,您不能尝试将其用作数组。

答案 1 :(得分:0)

尝试一下

for (int i = 0; i < numOfVals; i++){
        numSpc = 50 - values[i];
        for (int k = 0; k < 51; k++){
            twoDim[k]=[];
            for (int j = 0; j < values[i]; j++){
                twoDim[k].push(1);
            }
            for (int m = 0; m < numSpc; m ++){
                twoDim[k].push(0);
            }
        }
    }