有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

需要java程序来创建方法模板

我有一个文本文件,其中包含所有公共方法名的列表。我需要一个Java程序,它从文本文件中读取每个方法名,并为每个公共方法名创建一个方法(模板)。 说 我的文本文件包含3个方法

public static void A()
public static void B()
public static void C()

我需要这样的输出

public class class_name
{
 public void A_test()
 {
   System.out.println("Method A");
 }

 public void B_test()
 {
   System.out.println("Method B");
 }
 public void C_test()
 {
   System.out.println("Method C");
 }
}

请给出你的建议


共 (1) 个答案

  1. # 1 楼答案

    按照上面的示例,下面的代码将生成类似的输出。注意:没有包裹注意作为示例,生成器条带static

    public class ClassBuilder
    {
    
      public static String buildClass(String className,ArrayList<String> methods)
      {
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append(String.format("public class %s \n{", className)).append("\n");
        for (String method: methods)
        {
          stringBuilder.append(String.format("    %s \n    {", method.trim().replace("static ","").replace("()","_test()"))).append("\n    }\n\n");      
        }
        stringBuilder.append("}");
        return stringBuilder.toString();
      }
    
      public static void main(String[] args)
      {
        Scanner scanner = null;
        try
        {
          scanner = new Scanner(new File("d:\\testFile.txt"));
    
          ArrayList<String> methods = new ArrayList<String>();
          while (scanner.hasNext())
          {
            methods.add(scanner.nextLine());
          }
          scanner.close();
    
          String javaClass = buildClass("className", methods);
    
          System.out.println(javaClass);
        }
        catch (FileNotFoundException e)
        {
          e.printStackTrace();
        }
      }
    
    }
    

    输出

    public class className 
    {
        public void A_test() 
        {
        }
    
        public void B_test() 
        {
        }
    
        public void C_test() 
        {
        }
    
    }