-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 メソッド呼び出しを囲む括弧を削除すると、正しい出力値 (文字列 chars の重複) とは反対になります。

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

オンラインで追跡できませんでした。

ありがとう

4

1 に答える 1

0

Java ではchar整数型です。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 に答える