【发布时间】:2014-01-23 04:38:30
【问题描述】:
以下是codingbat的问题。
给定一个字符串,返回一个字符串,其中原始字符中的每个字符都有两个字符。 例如:
doubleChar("The") → "TThhee" doubleChar("AAbb") → "AAAAbbbb" doubleChar("Hi-There") → "HHii--TThheerree"
我有两个语句可以做到这一点,但是注释中的语句没有给出异常输出:
public String doubleChar(String str) {
String str1 = "";
for(int i=0;i<str.length();i++)
{
//str1 += str.charAt(i) + str.charAt(i);
str1 += str.substring(i,i+1)+str.substring(i,i+1);
}
return str1;
}
如果我将注释部分更改为str1 = str1 + str.charAt(i) + str.charAt(i),则输出符合要求。我无法理解这一点。如果连接没有,那么它不应该适用于任何一种情况。你能帮帮我吗?
【问题讨论】:
-
public String d(String s) { return s.length() == 0 ? "" : s.substring(0, 1) + s.substring(0, 1) + s(s.substring(1)); }怎么样 -
@PeterLawrey
+ s(s.sub...->+ d(s.sub...