[英]count the "IfStmt" statement in java parser
I am using javaparser to parse a java file , when I count the "If" statement it display the output as an incremental number such that Eg: if there are 3 "if" statements then it displays as [ 1 2 3 ]我正在使用 javaparser 来解析一个 java 文件,当我计算“If”语句时,它将输出显示为一个增量数字,例如:如果有 3 个“if”语句,那么它显示为 [1 2 3]
I want to get only the total number of "IF" statements.我只想获得“IF”语句的总数。 eg:[ 3].例如:[3]。
I don't want to get all the incrementing count This is my source code.我不想获得所有递增计数 这是我的源代码。
package org.javaparser.examples.chapter2;
public class VoidVisitorComplete {公共类 VoidVisitorComplete {
private static final String FILE_PATH = "src/main/java/org/javaparser/samples/prime.java";
public static void main(String[] args) throws Exception {
CompilationUnit cu = StaticJavaParser.parse(new FileInputStream(FILE_PATH));
VoidVisitor<Void> methodNameVisitor = new IfStmtVisitor();
methodNameVisitor.visit(cu, null);
}
private static class IfStmtVisitor extends VoidVisitorAdapter<Void> {
int i=0 ;
@Override
public void visit(IfStmt n, Void arg) {
//visit a if statement, add 1
i++;
System.out.println( getNumber() );
}
public int getNumber() {
return i;
}
}
} }
You have to put the print statement after all the if
statements have been counted.您必须在计算完所有if
语句后放置 print 语句。
package org.javaparser.examples.chapter2;
public class VoidVisitorComplete {
private static final String FILE_PATH = "src/main/java/org/javaparser/samples/prime.java";
public static void main(String[] args) throws Exception {
CompilationUnit cu = StaticJavaParser.parse(new FileInputStream(FILE_PATH));
VoidVisitor<Void> methodNameVisitor = new IfStmtVisitor();
methodNameVisitor.visit(cu, null);
System.out.println(methodNameVisitor.getNumber());
}
}
private static class IfStmtVisitor extends VoidVisitorAdapter<Void> {
int i = 0;
@Override
public void visit(IfStmt n, Void arg) {
//visit a if statement, add 1
i++;
}
public int getNumber() {
return i;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.