我问这个问题是因为我需要在程序运行时创建一个二维数组。网站上的所有其他问题都已经在数组内部存储了数据,这是我所没有的,因此我无法按照这些教程进行操作。
在此代码段之前,我已经正确初始化了所有变量。
不好意思,这是我在这里问的第一个问题
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。我该如何解决?
答案 0 :(得分:0)
问题是:
j
的范围仅限于其for-loop
。您无法在循环外访问它。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);
}
}
}