Llamadas de función desde principal

Tengo la función A, la función B y la función C

Estoy tratando de llamar a una de estas funciones al azar (A o B o C) desde Main.

¿Cómo puedo hacerlo?

¿Puedo poner las funciones en una matriz llamada FunctionList?

Entonces haz lo siguiente?

int x = (int)(Math.random() * Functionlist.size());
FunctionCall = FunctionList.get(x) 
Respuesta 1

Si el número de funciones es pequeño, la forma más fácil sería un switch,

switch((int)(Math.random()*NUM_FUNCTIONS) {
    case 0:
        functionA();
        break;
    case 1:
        functionB();
        break;
  //  ...
}
Respuesta: 2

Java no admite punteros de función. Una solución alternativa sería nombrar sus funciones metódicamente, es decir, f1, f2, f3, etc ... y luego crear un objeto Método basado en ese patrón. Por ejemplo, usando los nombres de función f1, f2, f3, podría hacer esto:

java.lang.reflect.Method method;
try {
  methodName = "f" + String.valueOf((int) Math.random()*NUM_FUNCTIONS);
  method = obj.getClass().getMethod(methodName, param1.class, param2.class, ..); 
} catch (SecurityException e) {
  // ...
} catch (NoSuchMethodException e) {
  // ...
}

Luego llame a la función así:

try {
  method.invoke(obj, arg1, arg2,...);
} catch (IllegalArgumentException e) {
} catch (IllegalAccessException e) {
} catch (InvocationTargetException e) {

* Esta respuesta es muy prestada desde aquí.

Respuesta: 3

Necesito selectores de fecha para dos casos, hasta ahora siempre he usado JXDatePicker, pero eso no es lo que necesito ahora: quiero un selector de fecha especialmente para las semanas del año y otro para meses de ...

Dado el siguiente Mapa ("DIAMANTE" -> "DAYMAHND", "MIL" -> "THAWZAHND"), quiero tomar el valor de cada elemento en el mapa actual y actualizar esos valores en un nuevo mapa con la última vocal y cada ...

Quiero iniciar sesión programáticamente (usando Java) en un sitio. (Ya tiene nombre de usuario y contraseña) Tome este sitio por ejemplo: http: //mediaforest-argentina.com/Membership/login.aspx? ReturnUrl =% 2fGuests% ...

Acabo de instalar Eclipse Helios. Una vez que descomprimí y abrí el Eclipse, me pidió mi espacio de trabajo. Seleccioné el camino y dijo ok. Abrió el espacio de trabajo y dijo que el banco de trabajo se estaba cargando y de repente ...