我的代码如下。
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中运行此代码。有人可以帮帮我吗?
答案 0 :(得分:8)
我的猜测是你得到空指针异常?请参阅我在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`