2014-07-21 8 views
5

Mam poniższy kod.Typ nie został załadowany podczas pobierania błędu typu komponentu tablicy wystąpił

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

W tym Complex jest klasa, która zawiera

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

Tutaj próbuję przypisać wartości z listy tablicy time1 do funkcji wartości złożonych.

Uruchomiłem ten kod w Eclipse 4.3.2. Czy ktoś może mi w tym pomóc?

+1

Zamieść swoje StackTrace. – csmckelvey

+1

Czy masz pytanie? (Jeśli miałeś wyjątek, powinieneś dołączyć * dokładnie * i * komplet * wyjątek * i * ślad stosu.) –

Odpowiedz

8

Zgaduję, że uzyskujesz wyjątki wskaźnik zerowy? Zobacz pierwszą linię dodaną w pętli for (zakładając, że Complex ma domyślny konstruktor).

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

Pierwsze dwa wiersze kodu tworzą tablice złożonych obiektów, ale każdy element nie ma jeszcze obiektu utworzonego w tym obiekcie. Najpierw musisz jawnie utworzyć obiekt.

także atrybuty nie powinny być statyczne:

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

Myślę, że masz rację, że tablice były puste przed wprowadzeniem pętli. – csmckelvey

+0

Czy muszę usunąć instrukcję, Complex [] time1Dummy = new Complex [time1.size()]; – Dinesh

+0

yes, thats correct Mam domyślny konstruktor dla złożonej klasy – Dinesh

Powiązane problemy