このタスクでは、ハミング距離を取得する必要があります(同じ長さの2つの文字列間のハミング距離は、対応するシンボルが異なる位置の数です - Wikipediaから) 2つの文字列sequence1とsequence2の間。forループを使用して2つの文字列の間のハミング距離を取得する
まず2つの新しい文字列を作成しましたが、これは2つの元の文字列ですが、どちらも比較を簡単にするために小文字を使用しています。その後、私はforループを使い、2つの文字列を比較することにしました。これらの2対の文字列の文字の違いについては、ループはint x = 0に1を加えます。メソッドの戻り値はこのxの値になります。
public static int getHammingDistance(String sequence1, String sequence2) {
int a = 0;
String sequenceX = sequence1.toLowerCase();
String sequenceY = sequence2.toLowerCase();
for (int x = 0; x < sequenceX.length(); x++) {
for (int y = 0; y < sequenceY.length(); y++) {
if (sequenceX.charAt(x) == sequenceY.charAt(y)) {
a += 0;
} else if (sequenceX.charAt(x) != sequenceY.charAt(y)) {
a += 1;
}
}
}
return a;
}
コードは十分に機能しているようですか?私が修正したり、コードを最適化できるものは何ですか?前もって感謝します。私は何か愚かなことを尋ねるなら私は大げさな奴ですので
「修正することができるもの」は、ここに属する質問です。 'optimize'質問はコードレビューに属します –
この質問はhttp://codereview.stackexchange.com/に適しています。そこにはより良い回答が得られます。 – jpaugh
はこの宿題ですか? –