【发布时间】:2017-02-06 12:59:22
【问题描述】:
我正在解决一个关于codingbat的问题,问题是: 给定一个字符串和第二个“单词”字符串,如果单词出现在字符串的前面,我们会说它与字符串匹配,除了它的第一个字符不需要完全匹配。在匹配时,返回字符串的前面,否则返回空字符串。因此,对于字符串“hippo”,单词“hi”返回“hi”,“xip”返回“hip”。该单词的长度至少为 1。 我无法解决,但在网上找到了解决方案,代码如下所示。但是,代码有效,为什么当值类似于 startWord("h", "ix") 时代码仍然有效。 word的长度是2,str的长度只有1,为什么code temp = str.substring(1,m)仍然有效???会报错吗??
public String startWord(String str, String word) {
int n = str.length();
int m = word.length();
String temp;
if(n>=m){
temp = str.substring(1,m);
if(word.substring(1).equals(temp)){
return str.charAt(0)+temp;
}
}
return "";
}
【问题讨论】:
-
startWord("h", "ix")应该返回一个空字符串,因为要进行长度检查。if(n>=m)
标签: java