Fehlermeldung bei Klasse mit array

bjn

Mitglied
Hallo Leute

Irgendwie kriege ich die folgende Fehlermeldung nicht weg.


Die Klasse MyList wird problems kompiliert.
Java:
public class MyList {


private int [] array;


public void setArray (int [] a) {
int [] array = new int[a. length ];
    for(int i=0;i< array . length ;++i){
        array [i] = a[i];}
}

public void print (){
for(int i=0;i< array . length ;++i){
System .out. print ( array [i]+" ");
}
System .out. println ();
}
}


Beim TestDriver kommt folgende Fehlermeldung beim Ausführen:
Code:
at ArrayTestDriver.main(ArrayTestDriver.java:5)
java.lang.NullPointerException
	at MyList.print(MyList.java:14)
	at ArrayTestDriver.main(ArrayTestDriver.java:12)

Klasse ArrayTestDriver
Java:
public class ArrayTestDriver {
public static void main ( String [] args ){
MyList a = new MyList ();
a. setArray (new int []{1 ,2 ,3 ,4 ,5 ,6 ,7 ,8});
a. print ();
}


Wo ist der Fehler?

Vielen Dank für die Hilfe.

Gruss

bjn
 
int [] array = new int[a. length ];
Ist eine neue, lokale variable

Mit
array = new int[a. length ];
oder deutlicher
this.array = new int[a. length ];
müßt's gehn
 
Hallo zusammen

Ah jetzt wirds klarer. Die Fehlermeldung resultiert, weil der "globale" Variablen ("private int [] array" unter "public class MyList"),
1. nicht vollständig deklariert (die Länge des array muss noch definiert werden) und
2. auch eigentlich keine Werte zugewiesen wurden (da ich ja die Werte einer lokalen Variabeln mit gleichem Name bei setArray-method diese zugewiesen habe, folglich kommt die Nullpointer-Fehlermeldung.


Vielen Dank.

Gruss

bjn
 

Zurück
Oben