Hallo!
Ich erzeuge sagen wir drei Instanzen der Klasse Gegenstaende die werden in der obenstehenden Klasse an das ArrayList Objekt box übergeben. Das klappt auch.
Wenn die methode createThings() // siehe oben
aufgerufen wird sollte sie aus box eine zufällige anzahl von Gegenständen ausgeben, das überprüf ich mit der 2. methode
printListe()
es kommt immer das selbe nur wenn ich die Klasse von den Methoden neu instanziere kommt etwas unterschiedliches. also nur beim ersten mal
rufe ich die Methode printListe hinter einander mehrfach auf bleibt es immer das selbe.
Ich dachte eine Methode und ihre variablen werden nach ihrem Aufruf gelöscht, also müsste Random doch jedes mal neu erzeugt werden wenn ich die methode createThings aufrufe?
:autsch:
Code:
//zufällige Anzahl von Gegenstaenden erzeugen.
public String createThings()
{
Random zufall = new Random();
String things = "Gegenstaende: ";
int i = zufall.nextInt(box.size());
if(i == 0){things = things + " none";}
else{
for (int x =1 ; x<box.size();x++)
{
Gegenstaende y = (Gegenstaende) box.get(x);
things = things + y.getName() + " " + y.getGewicht() +"g; " ;
}
}
return things;
}
// zufall von createThings() prüfen.
public void printListe()
{
System.out.println(createThings());
}
Ich erzeuge sagen wir drei Instanzen der Klasse Gegenstaende die werden in der obenstehenden Klasse an das ArrayList Objekt box übergeben. Das klappt auch.
Wenn die methode createThings() // siehe oben
aufgerufen wird sollte sie aus box eine zufällige anzahl von Gegenständen ausgeben, das überprüf ich mit der 2. methode
printListe()
es kommt immer das selbe nur wenn ich die Klasse von den Methoden neu instanziere kommt etwas unterschiedliches. also nur beim ersten mal
rufe ich die Methode printListe hinter einander mehrfach auf bleibt es immer das selbe.
Ich dachte eine Methode und ihre variablen werden nach ihrem Aufruf gelöscht, also müsste Random doch jedes mal neu erzeugt werden wenn ich die methode createThings aufrufe?
:autsch: