この問題をどのように達成できるかを教えていただけますか?inputWordを.txtファイル内の文字列と比較する必要があります。見つかった場合は行全体を返しますが、見つからない場合は「wordnotfound」と表示します。
例:
inputWord: abacus
Text file content:
abaca - n. large herbaceous Asian plant of the banana family.
aback - adv. archaic towards or situated to the rear.
abacus - n. a frame with rows of wires or grooves along which beads are slid, used for calculating.
...
so on
Returns: abacus with its definition
私がやろうとしているのは、inputWordを「-」(区切り文字としてのハイフン)の前の単語と比較することです。一致しない場合は、次の行に移動します。それらが一致する場合は、行全体をコピーします。
「宿題をする」ように言われているようには見えないことを願っていますが、さまざまなフォーラムやサイトでチュートリアルを試しました。私もJavaのドキュメントを読んでいますが、これを実現するためにそれらをまとめることはできません。
前もって感謝します!
アップデート:
これが私の現在のコードです:
if(enhancedStem.startsWith("a"))
{
InputStream inputStream = getResources().openRawResource(R.raw.definitiona);
try {
BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
String s = in.readLine();
String delimiter = " - ";
String del[];
while(s != null)
{
s = in.readLine();
del = s.split(delimiter);
if (enhancedStem.equals(del[0]))
{
in.close();
databaseOutput.setText(s);
break;
}
}
in.close();
}
catch (FileNotFoundException e) {
databaseOutput.setText("" + e);
}
catch (IOException e1) {
databaseOutput.setText("" + e1);
}
}
どうもありがとう!これが私が思いついたもので、入力の定義を正しく返しますが、問題は、テキストファイルに見つからない単語を入力すると、アプリがクラッシュすることです。キャッチフレーズが機能していないようです。どうすればそれをトラップできるか考えていますか?Logcatは、4342行目でNullPointerExcepetionと言っています。
s = in.readLine();