检查给定行是否为java代码的正确方法是什么?
输入:LogSupport.java:44 com/sun/activation/registries/LogSupport log(Ljava/lang/String;)V
预期输出:false.
输入:扫描仪输入 =新扫描仪(System.in);
预期产出:真实.
我尝试了Eclipse JDT ASTParser来检查我们是否可以创建AST.这是代码:
public static boolean isJava(String line) {
boolean isJava = false;
ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setSource(line.toCharArray());
parser.setResolveBindings(false);
ASTNode node = null;
parser.setKind(ASTParser.K_STATEMENTS);
try {
node = parser.createAST(null);
if (node == null) return false;
isJava = true;
} catch (Exception e) {
return false;
}
return isJava;
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用.有任何想法吗?谢谢!