私にはworkerという名前のクラスと、workerのパスであるPassという名前のクラスがあります。すべてのプロセスがテキストファイルから読み取られるメインクラスを構築しようとしています。私のコードはループでいっぱいで、うまくいけばうまくいきますが、問題があります。テキストの最初の行は、Worker:1のようなプレーンテキストです。 worker1は、worker1という名前でpassid(パスのID)番号1を使用してWorkerオブジェクトを作成することを意味します。これは実行可能です。しかし、この後、パスの作成をループに入れるだけです。これが私の問題です。テキストファイルの2n行は、worker1のAccessLogを提供し、開始日と終了日を提供します。
public static void main(String[ ] args) throws IOException {
String file_name = "data.txt";
try {
FileRead file = new FileRead( file_name );
String[ ] aryLines = file.Openfile();
int i;
for ( i=0; i < aryLines.length; i++ ) {
String phrase = aryLines[i];
String div = "[ ]+";
String[] tokens = phrase.split(div);
if (tokens[0].equals("Officer:")){
if (tokens[1].equals("1")){
Officer worker1 = new Worker("1","worker1",1);
Pass worker1Pass = worker1.getPass();
}
//etc. for other workers
}
アクセスログのコードが来て、エラーを説明します
else{
if (tokens[0].equals("AccessLog:")){
if (tokens[1].equals("1")){
String s1 = tokens[2] + tokens[3] ;
String s2 = tokens[4] + tokens[5] ;
try{
Date entry = new SimpleDateFormat("dd/MM/yyHH:mm:ss").parse(s1);
Date exit = new SimpleDateFormat("dd/MM/yyHH:mm:ss").parse(s2);
worker1Pass.workerEntry(entry);
worker1Pass.workerExit(exit);
}
catch (ParseException a) {
System.out.println( a.getMessage() );
}
}
workerentryとexitは、アクセスをログに記録するpassクラスのメソッドであり、シンボルworker1passが見つからないためにエラーが発生します。また、netbeansではworker1passの下に未使用と呼ばれる灰色の線があるため、workerpass宣言に問題があるようです。最後に、外部テキストファイルの回避策コードを除いて、コードが100%機能することを追加したいと思います。ヒントや提案は大歓迎です。
編集 - - - -
Worker worker1 = new Worker("1","worker1",1);
Pass worker1Pass = worker1.getPass();
下のworker1Passimget:変数worker1Passは使用されません
worker1Pass.workerEntry(entry);
worker1Pass.workerExit(exit);
ここで、im getはシンボルを見つけることができません:worker1passパスworker1pass宣言は、必要に応じて新しいパスを宣言しないため、メソッドは、必要に応じてエントリと終了をログに追加しません。