import java.beans.Statement; import java.util.ArrayList; public class DynamischeMethodenClass { public static void methodeEins(String name) { System.out.println("Ein Männername: " + name); } public static void methodeZwei(String name) { System.out.println("Ein Frauenname: " + name); } public static void methodeDrei(String name) { System.out.println("Ein Tier: " + name); } public static void methodeVier(String name) { System.out.println("Eine Pflanze: " + name); } public static void methodeFuenf(String name) { System.out.println("Ein Gebirge: " + name); } public static void methodeSechs(String name) { System.out.println("Eine Stadt: " + name); } public static void methodeSieben(String name) { System.out.println("Ein Bundesland: " + name); } public static void methodeAcht(String name) { System.out.println("Ein Land: " + name); } public static void methodeNeun(String name) { System.out.println("Eine Speise: " + name); } public static void methodeZehn(String name) { System.out.println("Ein Getränk: " + name); } private void fuehreAus() { ArrayList list = new ArrayList(0); list.add("methodeEins"); list.add(new Object[] { "Karl" }); list.add("methodeZwei"); list.add(new Object[] { "Hanna" }); list.add("methodeDrei"); list.add(new Object[] { "Flusspferd" }); list.add("methodeVier"); list.add(new Object[] { "Primel" }); list.add("methodeFuenf"); list.add(new Object[] { "Himalaya" }); list.add("methodeSechs"); list.add(new Object[] { "Berlin" }); list.add("methodeSieben"); list.add(new Object[] { "Sachsen" }); list.add("methodeAcht"); list.add(new Object[] { "Deutschland" }); list.add("methodeNeun"); list.add(new Object[] { "Nudeln" }); list.add("methodeZehn"); list.add(new Object[] { "Bier" }); int n = (int) (Math.random() * 20); if(n % 2 != 0) n = n-1; final Statement exp = new Statement(this, (String) list.get(n), (Object[]) list.get(n + 1)); try { exp.execute(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { DynamischeMethodenClass dmc = new DynamischeMethodenClass(); dmc.fuehreAus(); } }