ユーザー入力を受け取り、各単語をarrayListに格納してから、外部ファイルで各単語を検索するプログラムがあります。ここからやりたいのは、別の単語(別のarrayListにある)または最初に検索された単語と同じ行の価格値を返すことです。
例えば:
Here is my user input: Tuna
Here are my associated words in another arrayList: (seared, chunky, shredded)
Here are lines in my file: the cost of seared tuna is $1 per tin. Contains brine.
the cost of shredded tuna is $50 per packet
次に、プログラムで各行のマグロを検索してから、次のように出力します。
Seared $1
Shredded $50
私のプログラムでこれを行うには、マグロが表示される最初の行に「 seared 」という単語があり、この行の金銭的価値が1ドルであることを理解する必要があります。次に、次の行に対してプロセスを繰り返します。
私が知る必要がある主なことは、バッファリングされたリーダーが別々の行を区別するかどうか、そして各行でarrayList内の単語と金額を別々に検索できるかどうかです。
検索に使用するコードは以下のとおりです。これまでのところ、ファイルで単語を検索してから、その単語の場所を返すだけです。
while((strLine1 = br1.readLine()) != null){
for(String list: listOfWords){
Pattern p = Pattern.compile(list);
Matcher m = p.matcher(strLine1);
int start = 0;
while (m.find(start)) {
System.out.printf("Word found: %s at index %d to %d.%n", m.group(), m.start(), m.end());
start = m.end();
}
}
}
これが理解しやすいことを願っています。