-1

我有以下任务:

编写一个程序,读取 Java 源文件并生成文件中所有标识符的索引。对于每个标识符,打印它出现的所有行。调用 in.useDelimiter("[^A-Za-z0-9_]+")。然后每次调用 next 返回一个仅由字母、数字和下划线组成的字符串。

我的计划是创建一个示例 .java 文件,并逐行读取它。我不确定标识符是什么意思,或者哪个类提到了 useDelimiter 方法。谁能让我走上正轨?谢谢。我会使用 homework 标签,但它说它正在被删除。

这是我到目前为止所拥有的。我可以让它打印出文件中的所有标识符,但是我怎样才能找出标识符所在的行号呢?

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

1 回答 1

0

I suggest to use:

于 2012-10-26T22:33:39.383 回答