如何调用反射的到的类名

新建个项目,建个包叫mytest,以下所有代码都在该包下
1、Function.java
[code="java"]
package mytest;

public class Function {

public static void functiona(char c){
    System.out.println("你输入的是:"+c+",该字母可以在程序中找到");
}

public static void functionb(char c){
    System.out.println("你输入的是:"+c+",该字母可以在程序中找到");
}

public static void functionc(char c){
    System.out.println("你输入的是:"+c+",该字母可以在程序中找到");
}

}
[/code]
2、Test.java
[code="java"]
package mytest;

import java.lang.reflect.Method;
import java.util.Scanner;

public class Test {
public static void main(String[] args) {

    Scanner s = new Scanner(System.in);
    System.out.println("请输入一个字母");
    char c = s.nextLine().charAt(0);

    /*
    try {
        //包名.类名
        Class cls = Class.forName("mytest.Function");
        System.out.println("类加载成功");
        Method m[] = cls.getDeclaredMethods();
        String p = "\\w+"+c;
        for(Method mo:m){
            //System.out.println(mo.getName());
            if(mo.getName().matches(p)){
                //有没有什么办法使得只要类似这么写:Function.(mo.getName())(c);
                //就可以省去下面的switch分支,而达到switch分支一样的效果
                //这里的mo.getName()就可以动态替换functiona或functionb或functionc
                System.out.println("YES");
            }else{
                System.out.println("NO");
            }
        }
    } catch (ClassNotFoundException e) {
        System.out.println("类加载错误");
        e.printStackTrace();
    }
    */

    /**
     * switch分支
     */

    switch(c){
        case 'a':
            Function.functiona(c);
            break;
        case 'b':
            Function.functionb(c);
            break;
        case 'c':
            Function.functionc(c);
            break;
        default:
            System.out.println("输入错误");
    }

}

}
[/code]
问题就如在Test.java里注释那里写的,再重复下:有没有什么办法使得只要类似这么写:Function.(mo.getName())(c);就可以省去下面的switch分支,而达到switch分支一样的效果,就可以让这里的mo.getName()动态替换functiona或functionb或functionc
小弟求教,改怎么做?

[code="java"]
Scanner s = new Scanner(System.in);
System.out.println("请输入一个字母");
char c = s.nextLine().charAt(0);

    try {
        Method m = Function.class.getMethod("function" + c, char.class);
        m.invoke(null, c);
    } catch (NoSuchMethodException e) {
        System.out.println("输入错误");
    }

[/code]