問題是:給定兩個字串,回傳它們包含長度為 2 的相同子字串的位置數。
我寫的代碼有效,但我的問題是為什么我必須將負 1 添加到第 3 行,即這部分: i<a.length()-1
(我知道這與我使用 (i,i 2) 有關系)
public int stringMatch(String a, String b) {
int count = 0;
if (a.length() < b.length()) {
for (int i=0; i<a.length()-1; i ) {
if (a.substring(i,i 2).equals(b.substring(i,i 2))) {
count ;
}
}
} else {
for (int i=0; i<b.length()-1; i ) {
if (b.substring(i,i 2).equals(a.substring(i,i 2))) {
count ;
}
}
}
return count;
}
uj5u.com熱心網友回復:
String.length() 函式回傳字串的長度,但是當您訪問字符時,您使用索引訪問它。這就是為什么你必須做“-1”。
例如:
String s = "Hello";
長度為 5。索引為 0 到 4。
uj5u.com熱心網友回復:
由于子串從索引 i(包括)到 i 2(排除),為了不超出子串,回圈需要先完成 1 步。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/313515.html
上一篇:Python-在groupbyfor回圈中寫入資料幀
下一篇:如何列印字串模式?
