-1

对于以下代码块(整数值集),我得到了一个奇怪的返回:

public String doubleChar(String str) {
String answer = "";
for (int i = 0; i < str.length(); i++) {
answer = answer + (str.charAt(i) + str.charAt(i));
}
return answer;
}

当我删除循环的第一行中包含 str.chatAt 方法调用的括号时,与正确的输出值(字符串字符的重复)相反:

answer = answer + str.charAt(i) + str.charAt(i);

任何帮助表示赞赏,无法在线追踪。

谢谢

4

1 回答 1

0

在 Javachar中是一个整数类型。看来您想要String串联(即String加法)。你可以使用

public String doubleChar(String str) {
    String answer = "";
    for (int i = 0; i < str.length(); i++) {
        answer = answer + String.valueOf(str.charAt(i))
                + String.valueOf(str.charAt(i));
    }
    return answer;
}

或(我的偏好)StringBuilder喜欢

public String doubleChar(String str) {
    StringBuilder sb = new StringBuilder();
    for (char ch : str.toCharArray()) {
        sb.append(ch).append(ch);
    }
    return sb.toString();
}
于 2015-10-21T01:09:16.590 回答