私が書いているこのミニ検索エンジンのメイン メソッドの書き方について、いくつかの指針が必要です。これが私のコードです:
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 の最初の 4 文字 (ACTG) を取得すると、「CCTG」、「ACAG」、「ACTA」、「AATG」はすべて有効な検索結果となり、返されます。
私が抱えている問題は、メインメソッドにあります。検索メソッドを構文的にインスタンス化するにはどうすればよいですか? StringSearch s1 = new StringSearch(); を試しました。そして s1.search(); しかし、結果は得られませんでした。また、println で元の文字列を参照しようとすると、静的コンテキストからは参照できないと表示されます。ここではJavaの初心者ですが、具体的な助けをいただければ幸いです。