Zum Inhalt springen

Java array an Methode übergeben?


Badgott

Empfohlene Beiträge

Hallo ich habe 2 Array die ich an eine Methode übergeben möchte bzw. über denn Constructor an eine zweite Class.


public constructortest(array1[][][] array2[]) {
this.array1 = array1;
this.array2 = array2;

}
[/PHP]

Das komische dabei ist jetzt, das ich im array 2 die werte habe und im array 1 nix bzw null einträge wo vorher noch die korrekten einträge eingetragen waren.

THX for Help

Grezz Badgott

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das komische dabei ist jetzt, das ich im array 2 die werte habe und im array 1 nix bzw null einträge wo vorher noch die korrekten einträge eingetragen waren.
So, und jetzt nochmal in verständlichem deutsch: Wo liegt dein Problem?

Aus der Beschreibung werde ich nicht schlau.

Poste mal ein Beispiel, am besten mit ein paar Konsolenausgaben, womit man den Fehler reproduzieren kann.

Link zu diesem Kommentar
Auf anderen Seiten teilen


       private String array1[][];

       private String array2[];


	public Class1234(String[][][] array1, String[] array2) {

		this.array1= array1;

		this.array2= array2;

		System.out.println(array1[0][0][0])

	}

Die ausgabe währe "null" das Prob dabei ist das ich aber 100% in der Klasse wo ich das array1 fülle einen eintrag habe (String), hier sind alle eingetragenen werte futsch die dimension wird aber übernommen sprich [4][100][2]

Gruß Badgott

Link zu diesem Kommentar
Auf anderen Seiten teilen


       private String [B]array1[][][/B];

       private String array2[];


	public Class1234([B]String[][][][/B] array1, String[] array2) {

		this.array1= array1;

		this.array2= array2;

		System.out.println(array1[0][0][0])

	}

Vielleicht liegt es daran, daß array1 zu Beginn eine Dimension weniger denkt?

Beim zweiten Drüberschauen fällt mir auf, daß Du die Werte aus dem übergebenen Array ausgibst, und nicht die des Instanz-Arrays.

Link zu diesem Kommentar
Auf anderen Seiten teilen



private String array1[][];
private String array2[];

public Class1234(String[][][] array1, String[] array2) {
[/PHP]

hab jetzt den genauen Syntax nicht im Kopf, aber entweder du schreibst

public Class1234(String[][] array1, String[] array2)

oder

public Class1234(String[][][] array1, String[][] array2)

ich vermute mal (1) währe richtig...du machst da scheinbar aus deinem 2d-Array ein 3d-Array

ein tip für die Zukunft. Je nachdem was du da machst ist es Sinnvoller mit Vector/Collections zu Arbeiten als mit einem Array. Für Mehrdimensionalität lassen die sich dann verschachteln. Auf jeden fall hast du bei den Klassen mehr 'Überblick', also möglichkeiten den Fehler einzuschränken.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Badgott: Die Übergabe sollte funktionieren. Vielleicht postest Du mal den Code, der den Konstruktor aufruft. Denn der ist, wenn Du das mit den 3 Dimensionen bedacht hast, korrekt.

@Aiun: Mir ist schon besseres eingefallen. Aber wer kann denn bitte helfen, wenn er das Problem nicht versteht? Zugegeben, an diesem einen Wort hängt es sicher nicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das ist 'ne gute Frage. Auf Anhieb würde ich ja sagen. Aber dann fällt mir ein, daß das eine lokale Variable ist. Und die benötigt meiner Vermutung nach diesen Modifikator nicht. Ein Test würde für Klarheit sorgen.

Ich nehme an, daß Du auch schon auf die Idee gekommen bist, die Arrays vor der Übergabe zu prüfen?

Wenn ich pedantisch bin, müßte Dein Konstruktoraufruf komplett umgestaltet werden. Bitte schick' keinen Pseudocode mehr, und wenn, dann bitte richtig.

Dein Aufruf müßte so lauten:

Class1234 var = new Class1234(arr3Dim, arr1Dim);

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...