数组赋值问题
temp2是temp1经过变换得到的数组,在temp2给fd赋值的时候怎么赋不了值呢?
显示fd为null,另外在fd初始化时,debug那一步总是跳过fd,请问怎么回事??多谢了
for (int i = 0; i < w; i++) {
for (int j = 0; j < h; j++) {
temp1[j] = td[i * h + j];
}
for (int j = 0; j < h; j++) {
fd[i * h + j] = temp2[j];
}
}
[解决办法]
看看fd申请空间了没.
int[]fd = new int[size];//size根据你的程序而定
如果源码不太长,可以把源码全帖出来,这样更方便别人帮你查问题
[解决办法]
比较一下两个地方
fd[i * w + j] = new Complex();//初始化 第一个地方
for (int i = 0; i < w; i++) {
for (int j = 0; j < h; j++) {
temp1[j] = td[i * h + j]; //第二个地方
}
可以看出
i * h + j < i * w + j
说明td[i * h + j];没有被初始化过,还是null了
所以
for (int j = 0; j < h; j++) {
fd[i * h + j] = temp2[j]; //这里就出错了