我正在尝试编写一个程序来帮助我计算某些烹饪测量的转换。我确信有更简单的方法可以解决这个问题,但这是我迄今为止所做的:
public void sort(String[] s)
{
for (int i = 0; i < s.length; i++)
s[i] = s[i].toLowerCase();
try
{
if (s[0].equals("metric"))
{
for (int i = 0; i < metric.length; i++)
{
if (s[1].equals(metric[i]))
{
metric[i][1]();
}
}
} else if (s[0].equals("imperial"))
{
}
} catch (IllegalArgumentException e)
{
System.out.println(e);
System.out.print(errorMessage);
}
}
是一个数组,包含有关用户转换内容,转换内容和内容的信息。我还制作了两个2D数组,其中包含每个第一维元素的测量值,以及随之而来的相应方法名称。我想要做的是从2d数组中提取该方法名称,从而调用该方法。例如,表示metric [i] 1的行;应该调用在metric [i] [1]中存储方法名称的内容。如果可能的话,我该怎么做呢?如果这个问题令人困惑,也很抱歉,如果您有关于如何更直观地编写程序的意见,我将不胜感激。
答案 0 :(得分:0)
是的,如果你知道,并且可以访问该课程......
以下是如何按名称运行方法的示例(让selectedClass成为其所在的类):
Method theMethod = selectedClass.getClass().getMethod("methodName", null);
theMethod.invoke(selectedClass, null);