我有一个包含10个字符串的文件 - 每行1行 - 我需要运行LCS并获得每个比较的LCS和LCS长度,例如,String 1 with String 2,String 1 with String 3,String 1使用字符串4,依此类推,直到它遍历每个字符串,然后递增到字符串2并重复此过程,直到它遍历所有字符串。
我已成功将每个字符串添加到ArrayList以使其更容易但现在我在尝试将所述字符串相互比较时遇到问题,我想我应该使用嵌套for循环,直到我不增加它遍历整个列表,然后递增。
感谢任何帮助。这是我到目前为止的代码。
public static void main(String[] args) {
List<String> Collection = new ArrayList<>();
String FirstLine = null;
int i;
File Temp1 = new File("CollectionSeqs/listSeqs-consensustest-errorhigh-l10.nsol_win.txt");
try{
InputStream fis = new FileInputStream(Temp1);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
for (String line = br.readLine(); line != null; line = br.readLine()) {
Collection.add(line);
System.out.println(line);
}
br.close();
}
catch(Exception e){
System.err.println("Error: Target File Cannot Be Read");
}
答案 0 :(得分:0)
你正确使用嵌套for循环。这就是你如何做到这一点。
for(int i=0;i<Collection.size();++i)
{
String s1=Collection.get(i);
for(int j=i+1;j<Collection.size();++j)
{
String s2=Collection.get(j);
run the LCS for string s1 and s2
}
}