2 回答

TA貢獻1794條經驗 獲得超7個贊
對于此作業,for 循環仍然可以找到每個字符串具有相同字符的位置以及出現這種情況的次數:
ArrayList<Integer> places = new ArrayList<Integer>();
for (int i = 0; i < Math.min(string1.length(), string2.length()); i++) {
a = string1.charAt(i);
b = string2.charAt(i);
if (a == b) {
count++;
places.add(i); //To say at which indices the 2 strings have the same chars
}
}

TA貢獻1799條經驗 獲得超9個贊
我猜你想計算兩個單詞在相同位置重復的字符數。(前綴不一樣)
換句話說cat carrot,你想得到 2 因為c和a處于相同的位置,但t不是。
換句話說carrot cabra,你會得到 3,因為c和a( r4th) 在同一個位置上是相同的。
您只需要同時迭代兩個字符串一次:
String string1 = "car";
String string2 = "carrot";
int minLength = Math.min( string1.length(), string2.length() );
int count = 0;
for (int i = 0; i < minLength; i++){
char ch1 = string1.charAt(i);
char ch2 = string2.charAt(i);
if (ch1 == ch2) {
count++;
}
}
我們使用minLength因為我們只需要檢查直到最小單詞的長度。
我們使用string1.charAt(i)and string2.charAt(i),具有相同的索引i,因為我們想檢查相同位置的字符。
添加回答
舉報