さて、私は2つの文字列を比較して、一致するかどうかを文字ごとにチェックし、「-」にヒットした場合は、連続する「-」の数を数え、それらが1文字のみであるかのようにグループに入れる必要があります。この「-」のグループに T と C がいくつあるか数えてください。出力は 2.1T と 2.2C、もう 1 つは 5.2C のようになります。
String dna1 = "TC---CA--";
String dna2 = "TCTCCCACC";
char[] dnaChar = dna1.toCharArray(), dna2Char = dna2.toCharArray();
int cont = 0;
int letters = 0;
for (int i = 0; i < dnaChar.length; i++) {
if (dnaChar[i] != dna2Char[i]) {
int mut = i + 1;
if (dna1.charAt(i) == '-') {
cont++;
mut -= cont;
if (dna2.charAt(i) == 'C') {
letters++;
}
System.out.println(mut + "." + letters + dna2.charAt(i));
} else {
letters = 0;
cont = 0;
mut += 1;
System.out.println("" + dna1.charAt(i) + " " + mut + " " + dna2.charAt(i));
}
}
}
出力 2.0T 2.1C 2.2C 4.3C 4.4C そして、私が欲しいもの 2.1T 2.2C 5.2C