Wie gibt man arrays in Java zurueck?

Neue Frage »

Auf diesen Beitrag antworten »
Haevelin Wie gibt man arrays in Java zurueck?

Ich habe folgendes Programm:
In einer Klasse schreibe ich:


public class VectorRn {
public String rnVector;

}


Dann schreibe ich eine Testklasse:

public class Test {

public static void main(String[] args) {
// TODO Auto-generated method stub
VectorRn[] versuch= new VectorRn[2];
versuch[0].rnVector="0";
versuch[1].rnVector="1";
System.out.println("Gehen jetzt die Felder "+Arrays.toString(versuch));
}
}

Das Ergebnis ist eine NullPointerException; warum?
 
Auf diesen Beitrag antworten »
eulerscheZahl

Du hast zwar das Array initialisiert, aber nicht dessen Inhalt:
code:
1:
2:
versuch[0] = new VectorRn();
versuch[1] = new VectorRn();

Die Ausgabe liefert vermutlich nicht, was du wolltest.
Auf diesen Beitrag antworten »
Haevelin

Vielen Dank, das hat schon sehr viel weiter geholfen. Noch eine Frage: Wie kann ich die Komponenten einzeln in der main Methode ausgeben, wenn ich

VectorRn[] versuch= new VectorRn[2];
versuch[0].rnVector="0";
versuch[1].rnVector="1";

in einer eigenen Klasse beschrieben habe, und dann mit return versuch zurückgebe?
Auf diesen Beitrag antworten »
eulerscheZahl

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
package infoboard;

public class Main {

	public static VectorRn[] erstelleVector(){
		VectorRn[] meinVector= new VectorRn[2];
		meinVector[0] = new VectorRn();
		meinVector[1] = new VectorRn();
		meinVector[0].rnVector="0";
		meinVector[1].rnVector="1";	
		return meinVector;
	}
	
	public static void main(String[] args) {
		VectorRn[] versuch = erstelleVector();
		for(VectorRn vec : versuch)
			System.out.println(vec.rnVector);
	}

}
 
Auf diesen Beitrag antworten »
Haevelin

Vielen Dank!
Steht so etwas in dem Buch "Java ist auch eine Insel"?
Auf diesen Beitrag antworten »
eulerscheZahl

Ja, Kapitel 3.8.15 Mehrere Rückgabewerte.
In C# gibt es daneben noch das Schlüsselwort out bzw. ref, das kennt Java aber nicht.
Auf diesen Beitrag antworten »
Karlito

Im Jrinzip ja...

http://openbook.galileocomputing.de/java...42-912ebe459181

Scheinbar war aber dein Problem, dass du nicht wusstest, dass die Arraywerte initialisiert werden müssen. Ich denke das gehört eher in die Kategorie Transpherwissen und wird nicht genau so darin stehen. Wenn Du verstanden hast, warum du die Werte Initialisieren musst, sollte sich das Problem aber geklärt haben, oder?

VG,

Karlito
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »