Zufallsfunktion ?

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Ganz einfaches Problem:
Ich möchte irgendwie eine zufällige Methode aufrufen!
Mir ist klar dass ich die Methoden nicht einfach in ein "Methodenarray" o.ä. packen kann, aber es gibt doch sicher ein Workaround ?1

Thx für die Hilfe
 
G

Gast

Gast
Naja, im Grunde dacht ich wär das klar:
Code:
 void methode1()
  { System.out.println("1"); }
 void methode2()
  { System.out.println("2"); }
 void methode3()
  { System.out.println("3"); }
 Random r = new Random();
 int zufall = Math.abs(r.nextInt())%4;
Und jetzt soll halt einfach eine der drei Methoden zufällig aufgerufen werden, je nachdem was halt in zufall steht
 
B

Beni

Gast
Vielleicht was in die Richtung?
Code:
public interface Call{
  public void execute();
}

Code:
List<Call> list = new ArrayList<Call>();

list.add( new Call(){
  public void execute(){
    doMethodeXandAddY();
  }
});

list.add( new Call(){
  public void execute(){
    doSomethingTotallyDifferent();
  }
});

int random = (int)(Math.random()*( list.size()+1 )  );

list.get( random ).call();
 
G

Gast

Gast
Also, eine if-Anweisung könnte ziemlich viel tipparbeit werden, da es ne menge methoden werden könnten..
Das mit dem interface versuche ich gerade zu verstehen..
Es ist also möglich eine ArrayList des Typs <Call> zu erstellen? Jedes Element überschreibt also die execute()-Methode des Interfaces, und mit
Code:
list.get( i ).call();
kann ich dann die call()-Methode des i-ten Elements aufrufen ?
Wenn das so stimmt wie ich es verstanden habe genau was ich gesucht hab!
Bin zwar weder beim Kapitel über Interfaces noch bei dem über ArrayLists, aber ich denke das hat mir ganz schön weitergeholfen!

:toll: Thanks a lot
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G ZUFALLSFUNKTION in Minesweeper (6x6)? Java Basics - Anfänger-Themen 17

Ähnliche Java Themen


Oben