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,因为我们想检查相同位置的字符。
添加回答
举报