在這個任務中,我需要得到漢明距離(漢明距離相等的兩個字符串之間的漢明距離是相應的符號不同的位置數 - 從維基百科)在兩個字符串sequence1和sequence2之間。使用for循環來獲得2個字符串之間的漢明距離
首先,我做了2個新的字符串,這是2個原始字符串,但都與降低案例,使比較更容易。然後我使用for循環,如果比較2個字符串。對於這兩對字符串中的任何字符差異,循環會將1加到int x = 0。方法的返回值將是此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;
}
那麼,代碼看起來不錯,功能夠嗎?任何我可以修復或優化代碼?提前致謝。我是一個巨大的菜鳥,所以如果我問了什麼愚蠢的東西,請原諒我
「我能做的任何事情都是修復」是一個屬於這裏的問題。 '優化'問題屬於Code-Review – 2013-04-28 07:44:22
此問題更適合http://codereview.stackexchange.com/。你也會在那裏得到更好的答案。 – jpaugh 2013-04-28 07:45:27
正在做作業嗎? – 2013-04-28 07:49:02