java字符串组成一个函数名,调用这个函数
public class sssss { /**
 * @param args
 */
public static void main(String[] args) {
//System.out.print("ssss".toUpperCase());
String bb = "item1";
//System.out.print(bb.substring(0,1).toUpperCase()+bb.substring(1,bb.length()));

get+bb.substring(0,1).toUpperCase()+bb.substring(1,bb.length())();
} public static void getItem1() {

System.out.print("ddddddddddd");
}

public static void getItem2() {

System.out.print("ddddddddddd");
}
}

解决方案 »

  1.   

    这样编译都通不过的
    LZ的idea很好,学习……
      

  2.   


    能达到LZ目的,但也只是达到而已package com.keeya.csdn.test;public class Ssss { /**
     * @param args
     */
    public static void main(String[] args) {
    // System.out.print("ssss".toUpperCase());
    String bb = "item2";
    // System.out.print(bb.substring(0,1).toUpperCase()+bb.substring(1,bb.length())); String str = "get" + bb.substring(0, 1).toUpperCase()
    + bb.substring(1, bb.length()); doMethod(str);
    } public static void doMethod(String str) {
    if("getItem1".equals(str)){
    getItem1();
    }else if("getItem2".equals(str)){
    getItem2();
    }else{
    System.out.println("请输入需要调用的方法名");
    }
    } public static void getItem1() { System.out.print("ddddddddddd");
    } public static void getItem2() { System.out.print("cccccccccccc");
    }
    }
      

  3.   

    public class sssss {/**
    * @param args
    */
    public static void main(String[] args) {
    //System.out.print("ssss".toUpperCase());
    String bb = "item1";
    //System.out.print(bb.substring(0,1).toUpperCase()+bb.substring(1,bb.length()));String aa = "get"+bb.substring(0,1).toUpperCase()+bb.substring(1,bb.length())+"()";
    }public static void getItem1() {System.out.print("ddddddddddd");
    }public static void getItem2() {System.out.print("ddddddddddd");
    }
    }
    使用aa调用下面的方法
      

  4.   


    import java.lang.reflect.Method;public class sssss { /**
     * @param args
     */
    public static void main(String[] args) throws Exception {
    // System.out.print( "ssss ".toUpperCase());
    String bb = "item1";
    // System.out.print(bb.substring(0,1).toUpperCase()+bb.substring(1,bb.length())); String aa = "get" + bb.substring(0, 1).toUpperCase()
    + bb.substring(1, bb.length());
    Class<sssss> classType = sssss.class; Method method = classType.getMethod(aa, null);
    method.invoke(classType, null);
    } public static void getItem1() { System.out.print("ddddddddddd ");
    } public static void getItem2() { System.out.print("ddddddddddd ");
    }
    }
      

  5.   

    另外提示,你需要拼出的字符串只是"getItem1"不需要其他东西,括号什么都不要
      

  6.   

    跟你说的就是有用的,非要人家把代码都贴出来,自己不去研究下吗?public   class   sssss  

    public   static   void   main(String[]   args)  

    String   bb   =   "item1";  
    String   aa   =   "get"+bb.substring(0,1).toUpperCase()+bb.substring(1,bb.length());
    try {
    Class c = Class.forName("sssss");
    Method[] m=c.getMethods();
    for(int i=0;i<m.length;i++)
    {
    if(m[i].getName().equals(aa))
    {
    m[i].invoke(null);
    }
    }

    catch (Exception e) {
    e.printStackTrace();
    }

    public   static   void   getItem1()   { 

    System.out.print( "111111 "); 
    }  public   static   void   getItem2()   { 

    System.out.print( "222222 "); 


      

  7.   

    反射是java基本特性,任何一本java基础书都有介绍。搂主应该多点钻研精神才行啊!
      

  8.   

    lz是sb啊,把分给15楼,上面的才是正解。