私には次の割り当てがあります。
Javaソースファイルを読み取り、ファイル内のすべての識別子のインデックスを生成するプログラムを作成します。識別子ごとに、それが発生するすべての行を印刷します。in.useDelimiter( "[^ A-Za-z0-9 _] +")を呼び出します。次に、nextを呼び出すたびに、文字、数字、およびアンダースコアのみで構成される文字列が返されます。
私の計画は、サンプルの.javaファイルを作成し、それを1行ずつ読み取ることでした。識別子が何を意味するのか、またはどのクラスに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);
}
}