DEV Community

TANIAOKA, Akihiro
TANIAOKA, Akihiro

Posted on • Updated on

13章58

このJavaコードは文字列を操作して最終的な出力を得るものです。コメントを加えて、各ステップを解説します。

public class Sample {
    public static void main(String[] args) {
        String a = "A";       // 文字列aに"A"を代入
        a = a.concat("B");    // 文字列aに"B"を連結して、aは"AB"になる
        String b = "C";       // 文字列bに"C"を代入
        a = a.concat(b);      // 文字列aにbの値"C"を連結して、aは"ABC"になる
        a.replace('C', 'D');  // 文字列a内の'C'を'D'に置換しようとするが、置換された結果は保存されない。もしもa = a.replace('C', 'D');だったら保存された。
        a = a.concat(b);      // 文字列aに再びbの値"C"を連結して、aは"ABCC"になる
        System.out.println(a); // 文字列aを出力、"ABCC"が出力される
    }
}
Enter fullscreen mode Exit fullscreen mode

このコードにおいて重要なポイントは、a.replace('C', 'D');の行です。このメソッドは文字列の中の文字を置換するものですが、JavaのStringは不変なので、このメソッドを呼び出しても元の文字列aは変更されません。そのため、この操作の結果は保存されず、aの値は変わらないままです。その後、a.concat(b);"C"が再び連結されるため、最終的な出力は"ABCC"となります。

したがって、選択肢C「[ABCC]」が正解となります。

Top comments (0)