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];
} }
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];
} }
int[]fd = new int[size];//size根据你的程序而定
如果源码不太长,可以把源码全帖出来,这样更方便别人帮你查问题
for (int j = 0; j < count; j++) {
fd[i * w + j] = new Complex();//初始化
}但是在分配空间那一行程序会跳过去 使得fd为null ,按理说不应该这样啊
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]; //这里就出错了
debug时会提示:j cannot be resolved
public static void main(String[] args){
int[][] a=new int[5][5];
for(int i=1;i<=5;i++){
for(int j=0;j<5;j++){
a[i][j]=i+j;
System.out.print(a[i][j]+"@");
}
System.out.println();
}
}请各位高手看看为什么这个程序会出错呢。多谢了各位。