我需要一些关于如何为我正在编写的迷你搜索引擎编写主要方法的指针。这是我的代码:
public class StringSearch {
private String s1 = "ACTGACGCAG";
private String s2 = "TCACAACGGG";
private String s3 = "GAGTCCAGTT";
public static void main(String[] args) {
System.out.println("Welcome! The strings you started with are:\n" + s1 + "\n" + s2 + "\n" + s3);
}
public void search() {
do {
for(int i = 0; i < s1.length() - 4; i++) {
int d = 0;
String subStr = s1.substring(0 + i, 4 + i);
do{
for (int iSub = 0; iSub < 4; i++){
if (subStr.charAt(iSub) != (subStr.charAt(iSub))) {
d += 1;
}
}
}while(d < 2);
if(s2.contains(subStr) && s3.contains(subStr)) {
System.out.println(subStr + "is in all 3 lists.");
}
}
}while (s1.length() - 4 < 6);
System.out.println("Task Complete.");
}
}
这个想法是我有一组 3 个字符串开始,我需要创建一个 4 个字符的子字符串并将其与所有 3 个字符串进行比较,以查看它是否包含在每个字符串中,并且至少有 3/4 个字母匹配。例如,如果我取 s1 (ACTG) 的前 4 个字符,那么 'CCTG'、'ACAG'、'ACTA'、'AATG' 都是有效的搜索结果并会被返回。
我遇到的问题是主要方法。我究竟应该如何在语法上实例化搜索方法?我试过 StringSearch s1 = new StringSearch(); 然后是 s1.search(); 但没有得到任何结果。此外,当我尝试在 println 中引用原始字符串时,它说我无法从静态上下文中引用它们。Java新手在这里,将不胜感激具体的帮助。