2015-05-29 36 views
-1

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

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"); 
} 
} 

请给出您的建议。

+3

请尝试一些与具体问题回来。 –

+0

我投票结束这个问题作为题外话,因为它看起来像你问别人为你写代码。这不是免费的代码写入服务。 – Jesper

+0

只是一个提示:https://github.com/forge/roaster – Tobb

回答

0

按照上面的示例,以下代码将生成类似的输出。请注意,没有包。 注意作为你的榜样发电机条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() 
    { 
    } 

} 
相关问题