Badgott Geschrieben 5. August 2005 Teilen Geschrieben 5. August 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 5. August 2005 Teilen Geschrieben 5. August 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Badgott Geschrieben 5. August 2005 Autor Teilen Geschrieben 5. August 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_Newlukai Geschrieben 5. August 2005 Teilen Geschrieben 5. August 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aiun Geschrieben 5. August 2005 Teilen Geschrieben 5. August 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_Newlukai Geschrieben 5. August 2005 Teilen Geschrieben 5. August 2005 Kauft Euch doch bitte mal ein Wörterbuch. Es heißt 'wäre' nicht 'währe' oder bin ich mit der neuen Rechtschreibung noch nicht vertraut? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Badgott Geschrieben 5. August 2005 Autor Teilen Geschrieben 5. August 2005 Hallo, Sorry ein schreibfehler von mir es sind wie gesagt 3 Dimensionen es ist dabei egal welches Array ich ausgebe das übergebene oder das dem ich das Übergebene zuweise es sind beide "null" prinzipiell sollte das so (die Übergabe) möglich sein oder ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aiun Geschrieben 5. August 2005 Teilen Geschrieben 5. August 2005 @lewlukai, fällt dir nichts besseres zu diesem Thema ein als rumzupöbeln ? @badgott, auf anhieb sehe ich nichts, was die übergabe verhindern sollte. Wenn ich nach hause komme, werd ich das mal testen... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_Newlukai Geschrieben 7. August 2005 Teilen Geschrieben 7. August 2005 @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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Badgott Geschrieben 8. August 2005 Autor Teilen Geschrieben 8. August 2005 Hallo, also aufrufen bzw. übergeben tue ich das ganze wie folgt: Klasse clXY = new XY(arr3DIM, arr1DIM); kann des evtl. daran hängen das ich das aus der main (static) übergebe? Gruß Badgott Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_Newlukai Geschrieben 8. August 2005 Teilen Geschrieben 8. August 2005 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); Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.