Der Anwender entscheidet wie viele Objekte erzeugt werden sollen
int anzahl = In.readInt();
Wenn der Anwender jetzt 10 eingiebt sollen 10 neue Objekte erzeugt werden.
1.objekt
2.objekt
3.objekt
....
Kann mir da bitte wer weiterhelfen ?
Erstellen von N Objekten
-
-
Einfach mit einer for schleife?
for(i=0,i<anzahl,i++) {
new object = blablabab
}Und den index i nimmst halt zur hilfe um die objektnamen zu vergeben
-
Vorzugsweise die Objekte in einen Vector reinschmeissen, sonst sind die ja gleich wieder weg.
-
-
nachdem objs ein array ist kannst du es nur mit objs[index] ansprechen.
woher soll er denn objs1 kennen?
ich würde ein kleines tutorial empfehlen in dem dir die grundzüge deiner angewendeten sprache erläutert werden.
-
Würd auch sagen, da fehlts noch an den Grundlagen.
Guckst du z.B. ...
http://www.javabuch.de/Am besten HTML-Version downloaden (umsonst).
Ich würde die Elemente dann in irgendeine eine Collection reinpacken und dann kannst sie auch schön über einen Iterator abarbeiten.
-
-
-
Die Bemerkung verstehe ich nicht. Diese Zeile ist ja nicht die Loesung des Problems (diese steht eine Zeile drueber im Aufruf der Methode 'instance_variable_set'). Der print befehl ist nur ein Beispiel fuer die Verwendung des Ergebnisses.
Vielleicht ist ja die Notation unklahr: Alles nach dem '#' ist in Ruby ein Kommentar, und in diesem Fall soll der Kommentar die Ausgabe beschreiben, naemlich den der Variablen zugewiesenen Wert. und print variable ist ja wohl nicht komplizierter als System.out.print(variable);
Wenn man die Syntax einer Sprache nicht kennt, ist natuerlich alles kompliziert.
In Java laesst sich das Problem meiner Meinung nach nur loesen, indem man zur Laufzeit Bytecode generiert und diesen dann mittels Reflection laed. Und das ist fuer mich kompliziert genug um es als praktisch unbrauchbar zu bezeichnen.
-
In Java laesst sich das Problem meiner Meinung nach nur loesen, indem man zur Laufzeit Bytecode generiert und diesen dann mittels Reflection laed. Und das ist fuer mich kompliziert genug um es als praktisch unbrauchbar zu bezeichnen.
Ich verstehe zwar deinen Ruby-Code nicht, aber noch weniger versteh ich, wie du jetzt draufkommst, dass man hier Reflection verwenden sollte. -
Ich verstehe zwar deinen Ruby-Code nicht, aber noch weniger versteh ich, wie du jetzt draufkommst, dass man hier Reflection verwenden sollte.
Von 'sollte' kann gar nicht die Rede sein, schiesslich habe ich diese Loesung als "praktisch unbrauchbar" bezeichnet.
Also das Problem:
Ich bekomme zur Laufzeit einen String, und moechte daraus einen Referenznamen machen.
In einer interpretierten Sprache kann man das Problem mit eval loesen.
Die Ruby Loesung geht im Prinzip so vor. Aber in Java ist der Code zur
Laufzeit ja nicht mehr vorhanden: Die VM kennt nur noch noch Bytecode.Was man also machen muesste ist:
- Zur Laufzeit ein .class file erstellen, das z.b. eine Klasse
enthaelt, welche 'foo' als eine oeffentliche, statische variable
besitzt.- Diese Klasse mittels Reflection zur Laufzeit laden und dann die
Referenz foo mittels 'MyClass.foo' ansprechen.Oder gibt es vielleicht einen einfacheren Weg?
-
Ich bekomme zur Laufzeit einen String, und moechte daraus einen Referenznamen machen.
<wahnsinnig-bloede-frage>
Was hat das mit der ursprünglichen Problemstellung zu tun? Ich seh da den Zusammenhang irgendwie nicht?! :confused:
</wahnsinnig-bloede-frage>
-
Zitat von Paulchen
Was hat das mit der ursprünglichen Problemstellung zu tun?Wie machst Du aus einem Basisstring "objs" und einem Index "1" einen Referenznamen objs1 ? Dass kommt doch genau auf das von mir beschriebene Problem hinaus oder nicht?
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!