我需要读入一个包含 2 个句子的文件来比较并返回一个 0 和 1 之间的数字。如果句子完全相同,它应该返回 1 表示真,如果它们完全相反,它应该返回 0 表示假。如果句子相似,但单词被更改为同义词或类似的东西,它应该返回 .25 .5 或 .75。文本文件的格式如下:
______________________________________ 文本:示例 文本 1:那是一个黑暗而暴风雨的夜晚。我一个人坐在红色的椅子上。我并不孤单,因为我养了三只猫。 文本 20:那是一个阴暗的暴风雨之夜。我一个人坐在深红色的椅子上。我并不完全孤单,因为我有三只猫科动物 // 应该得分高点但不是 1 文本 21:那是一个阴暗而暴风雨的夜晚。我一个人坐在深红色的大教堂上。我并不完全孤单,因为我有三只猫科动物 // 应该低于 text20 文本 22:我一个人坐在深红色的大教堂上。我并不完全孤单,因为我有三只猫科动物。这是一个阴暗而暴风雨的夜晚。 // 得分应该低于 text21 但不是 0 文本 24:那是一个黑暗而暴风雨的夜晚。我并不孤单。我没有坐在红色的椅子上。我养了三只猫。 // 应该得 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());
}
}
}