在java源文件中查找标识符
我的任务如下: 编写一个程序,读取Java源文件并生成文件中所有标识符的索引。对于每个标识符,打印其所在的所有行。调用.useDelimiter(“[^A-Za-z0-9\]+”)。然后,对next的每次调用都返回一个仅由字母、数字和下划线组成的字符串 我的计划是创建一个sample.java文件,并逐行读取它。我不确定标识符是什么意思,也不确定提到的useDelimiter方法是什么类。有人能让我走上正确的轨道吗?谢谢我会使用家庭作业标签,但它说它正在被删除 这是我到目前为止所拥有的。我可以让它打印出文件中的所有标识符,但如何才能找出标识符所在的行号呢在java源文件中查找标识符,java,Java,我的任务如下: 编写一个程序,读取Java源文件并生成文件中所有标识符的索引。对于每个标识符,打印其所在的所有行。调用.useDelimiter(“[^A-Za-z0-9\]+”)。然后,对next的每次调用都返回一个仅由字母、数字和下划线组成的字符串 我的计划是创建一个sample.java文件,并逐行读取它。我不确定标识符是什么意思,也不确定提到的useDelimiter方法是什么类。有人能让我走上正确的轨道吗?谢谢我会使用家庭作业标签,但它说它正在被删除 这是我到目前为止所拥有的。我可以让
public static void main(String[] args) {
System.out.println("Enter the path to your JAVA source file: ");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String pathToFile = null;
try {
pathToFile = br.readLine();
File f = new File(pathToFile);
Scanner s = new Scanner(f);
s.useDelimiter("[^A-Za-z0-9_]+");
while (s.hasNext()) {
String identifier = s.next();
System.out.println(identifier);
}
} catch (IOException ioe) {
System.out.println("Unable to locate file. Program will exit.\n"
+ ioe.toString());
System.exit(0);
}
}
我建议使用:
- 过滤评论
- 筛选与[A-Za-z][A-Za-Z0-9]匹配的令牌*
$
,但如果您告诉教授,我怀疑教授不会相信您;-)标识符是编译器和语言编写器为用作变量、类型和类名称的字符串指定的名称。Java标识符与您发布的正则表达式匹配。有这样的方法。当我迭代文件中的行时,似乎也得到了空行,以及仅由{个字符组成的行。而且,当它说identifier时,我不确定如何找到它们。