我正在做一個Java編程問題,我的解決方案可行,但我看到別人在他們的博客上發佈的解決方案有點短,但我不明白它爲什麼可行。這兩個子串調用爲什麼相等?
的問題是:
給定一個非空字符串和一個int N,則返回其中索引爲n個字符已被刪除一個新的字符串。 n的值將是原始字符串中char的有效索引(即,n將在
0..str.length()-1
的範圍內)。
我的代碼(其在各種條件下工作):
public String missingChar(String str, int n) {
return str.substring(0,n) + str.substring(n+1,str.length());
}
其它代碼也工作原理是:
public String missingChar(String str, int n) {
return str.substring(0, n) + str.substring(n + 1);
}
所不同的是在第二個行的末尾。
我的問題是爲什麼str.substring(n+1)
產生與str.substring(n+1,str.length())
相同的結果?
你真的讀過javadoc嗎? – 2014-10-07 15:28:24
閱讀API文檔。 – 2014-10-07 15:28:39
'substring'方法被重載,所以你可以這樣調用它。 http://docs.oracle.com/javase/8/docs/api/java/lang/String.html#substring-int- – khelwood 2014-10-07 15:30:34