比較して 0 と 1 の間の数値を返す 2 つの文を含むファイルを読み込む必要があります。文がまったく同じ場合は true の場合は 1 を返し、完全に反対の場合は false の場合は 0 を返す必要があります。文が似ているが、単語が同義語またはそれに近いものに変更されている場合、.25 .5 または .75 が返されます。テキスト ファイルは次のようにフォーマットされます。
______________________________________ テキスト: サンプル テキスト 1: 暗く嵐の夜でした。私は一人で赤い椅子に座っていました。私は3匹の猫を飼っていたので、完全に一人ではありませんでした。 テキスト 20: 暗く嵐の夜でした。私は真っ赤な椅子に一人で座っていました。私は3匹の猫を飼っていたので、完全に一人ではありませんでした // ハイポイントを獲得する必要がありますが、1 ではありません テキスト 21: 暗くて嵐のような夜でした。私は真っ赤なカテドラに一人で座っていました。私は3匹の猫を飼っていたので、完全に一人ではありませんでした // text20 より低いスコアにする必要があります テキスト 22: 私は真っ赤な大聖堂に一人で座っていました。私は3匹の猫を飼っていたので、完全に一人ではありませんでした。暗くて嵐のような夜でした。 // スコアは text21 より低くなければなりませんが、0 ではありません テキスト 24: 暗い嵐の夜でした。私は一人ではありませんでした。私は赤い椅子に座っていませんでした。私は3匹の猫を飼っていました。 // スコアは 0 でなければなりません! ________________________________________________
私はファイル リーダーを持っていますが、各行を比較できるように保存する最善の方法がわかりません。今のところ、ファイルを読み取ってから画面に出力しています。これらを保存し、それらを比較して目的の数を取得する最良の方法は何ですか?
import java.io.*;
public class implement
{
public static void main(String[] args)
{
try
{
FileInputStream fstream = new FileInputStream("textfile.txt");
DataInputStream in = new DataInputStream (fstream);
BufferedReader br = new BufferedReader (new InputStreamReader(in));
String strLine;
while ((strLine = br.readLine()) != null)
{
System.out.println (strLine);
}
in.close();
}
catch (Exception e)
{
System.err.println("Error: " + e.getMessage());
}
}
}