Arrays - unzählbar viele anlegen, an main zurueck geben

Disap

Mitglied
Hallo zusammen.
In Java habe ich ein paar Probleme bezüglich Arrays mit Rekursion und habe mittlerweile die Vermutung, dass Java mein Problem so gar nicht lösen kann.


(Das ist Text, den braucht ihr eigentlich gar nicht zu lesen, siehe dafür lieber 1) und 2)! )
Ich habe in einer Rekursion ein Array mit dem Namen: arrayA definiert.

Ich möchte das gesammte erstellte Array (die Werte wurden in dem Rekursions-Programm gemacht) an das Hauptprogramm zurückgeben.

Wie kann ich das machen? Mit return arrayA; geht es leider nicht?

Und mein zweites Problem ist, in meinem Hauptprogramm durchlaufe ich sehr oft eine For-Schleife, in dieser For-Schleife folgen weitere Rechnungen, die ich alle in ein Array hineinschreibe.
Ist es möglich, dass ich pro For-Schleifen-Durchlauf ein seperates Array erstelle? Ich will das Array nämlich speichern.
Also ich dachte an eine Durchnummierung (nur so zum Beispiel)
Array1
Array2
Array3
...

Das brachte mcih auf den Ansatz, ein zwei-dimensionales Array zu erstellen, leider ergibt sich der For-Schleifen durchlauf durch Zufall, sodass ich die Größe des Arrays nicht abschätzen kann.
Würdet ihr mir Raten, die Dimension einfach abzuschätzen und bei Bedarf einfach zu verdoppeln?

Aber wenn der For-Schleifen durchlauf i ist, wie kann ich dann i verschiedene Arrays erzeugen? Gibt es da etwas? Das Problem ist ja, dass ich das Array eigentlich vor der For-Schleife definieren muss, (sonst gibt es einen Laufzeitfehler). weil ich das Array außerhalb der Schleife benötige und es ja sonst nur in der Schleife gültig ist (falls ich es dort definiere),
Durch ein Unterprogramm könnte ich das Problem vermutlich gut lösen? Ich habe zur Zeit alles in der main Methode.
Da ich zur Zeit total planlos bin und nur Code runtergeschrieben habe (in meinem Programm), hier noch einmal meine Probleme

1) Ich würde gerne ein Array aus der Rekursionsfunktion an das Hauptprogramm zurückgeben, kenne aber die Syntax nicht

2) Ich habe eine For-Schleife, aus der sich die Anzahl (verschiedener ganzer!) Arrays ergibt (Also z. B. habe ich ein Array der Größe 10, dann eins der Größte 15, dann eines der Größte 37,...). Jetzt möchte ich in dieser Forschleife das Array befüllen mit zufälligen Werten, und dann ausserhalb der For-Schleife wieder zugreifen.


Ich weiß, das mein Text hier total schlecht formuliert ist usw. und deswegen braucht ihr euch auch nicht die Mühe zu machen, mir etwas zu programmieren, ein theoretischer Ansatz würde mir schon genügen. (Falls ihr überhaupt verstanden habt, worum es geht, so sind Einsteigerfragen nun mal :mad:)

Viele Grüße
Disap
 

zerix

Hausmeister
Moderator
Hallo,

zu 1)
Mit return arrrayA funktioniert das schon. Natürlich muss dann auch die Methode dementsprechen deklariert sein.

BSP:
Wenn du ein int-Array zurückgeben möchtest
Code:
public int[] machwas(){}

zu 2)
Ich kenne leider dein Programm nicht und weiß deshalb nicht, ob man es vielleicht auch anders lösen kann.
Aber eine Möglichkeit wäre eine Hashmap.

Code:
Map arrays = new HashMap();
for(int i = 0; i < x; i++){

   int[] array = new int[5];
   //Irgendwas machen

   arrays.put(i, array);

}

MFG

Sascha
 

gora

Mitglied
Guten Morgen
Vielleicht kannst du mal kurz beschreiben, wofür dein Programm da ist, dann versteht man vielleicht auch was du machen möchtest und kann dir helfen.

Gruß Gora