2014-07-21 22 views
5

Kodun altında var. Bu ise Tür hatası alınırken, dizi hatası oluştu.

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); 
} 

, Karmaşık Karmaşık değer fonksiyonları için dizi listesi TIME1 değerleri atamak çalışıyorum, İşte

private static Double re; // the real part 
private static Double im; // the imaginary part` 

içeren sınıftır.

Bu kodu tutulma 4.3.2'de çalıştırıyorum. Birisi bana yardım edebilir mi?

+1

sizin stacktrace yazın. – csmckelvey

+1

Bir sorum varmı ???? (Bir istisna geçirdiyseniz * tam * ve * eksiksiz * istisna mesajını * ve * yığın izlemesini içermelisiniz.) –

cevap

8

Sanırım boş gösterici istisnaları alıyorsunuz? For döngüsünde eklediğim ilk satıra bakın (Kompleksin bir varsayılan kurucu olduğunu varsayarak). kodunuzun

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); 
} 

ilk iki satır Kompleks nesnelerin diziler oluşturmak, ancak her eleman henüz bir nesne bunun içinde oluşturulan yoktur. İlk önce açıkça bir nesne oluşturmanız gerekir.

Ayrıca nitelikleri statik olmamalı:

private Double re; // the real part 
private Double im; // the imaginary part` 
+0

Sanırım, döngü girilmeden önce dizilerin boş olduğu gerçeğinde haklısınız. – csmckelvey

+0

Yani ifadeyi kaldırmam gerekiyor, Kompleks [] time1Dummy = yeni Karmaşık [time1.size()]; – Dinesh

+0

evet, bu doğru – Dinesh

İlgili konular