我有下面的代码。
Complex[] time1Dummy = new Complex[time1.size()];
Complex[] freq1 = new Complex[time1.size()];
System.out.println("Size of time1:" +time1.size());
for(int i = 0; i < time1.size(); i++) {
time1Dummy[i].setRe(time1.get(i));
time1Dummy[i].setIm(0.00);
}
在此,Complex是包含以下内容的类
private static Double re; // the real part
private static Double im; // the imaginary part`
在这里,我试图将数组列表time1中的值分配给复杂值函数。
我正在eclipse 4.3.2中运行此代码。有人可以帮我吗?
最佳答案
我的猜测是您会收到空指针异常吗?请参阅我在for循环中添加的第一行(假设Complex具有默认构造函数)。
Complex[] time1Dummy = new Complex[time1.size()];
Complex[] freq1 = new Complex[time1.size()];
System.out.println("Size of time1:" +time1.size());
for(int i = 0; i < time1.size(); i++) {
time1Dummy[i] = new Complex();
time1Dummy[i].setRe(time1.get(i));
time1Dummy[i].setIm(0.00);
}
代码的前两行创建了Complex对象的数组,但是每个元素尚未在其中创建对象。您需要首先显式创建一个对象。
同样,属性也不应该是静态的:
private Double re; // the real part
private Double im; // the imaginary part`