[英]compare 2 strings by character to find differences
只是想知道是否有一種快速的方法來確定@元素中字符串中的哪些點不同。 我有2個二進制字符串,我想知道@他們有多少個地方不一樣。
1111111100010001111011100010001011011101001100111100110001000100
0001001011001101110110000101001111111010000000010001110001000000
所以我想我需要一個for循環和一個計數器,但我所知道的只是compare()和類似的東西,而不是如何逐個字符地逐個字符感謝您的幫助
編寫自己的KMP變體實現
public static int diff( byte [] a, byte [] b){
int diff = 0;
String byteAr1;
String byteAr2;
char A1 [];
char A2 [];
byteAr1 = hexToBin(a);
byteAr2 = hexToBin(b);
A1 = byteAr1.toCharArray();
A2 = byteAr2.toCharArray();
for( int i = 0; i < A1.length; i++){
if(A1[i] != A2[i]){
diff++;
}
}
return diff;
}
你的琴弦總是一樣長嗎? 如果是這樣,您可以執行以下操作:
for(int i = 0; i < string1.length(); i++) {
if(string1.charAt(i) == string2.charAt(i))
//the two chars are equal
}
如果字符串的長度不同,則會失敗,因為您將嘗試訪問不存在的字符
將字符串轉換為字節數組,然后使用XOR(^)運算符。
計算1的數量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.