テキストブロックのインデント
出力はどれか。
public class Main {
public static void main(String[] args) {
String s = """
A
B
""";
String first = s.substring(0, s.indexOf('\n'));
System.out.println(first.replace(' ', '.'));
}
}
- A
....A - B
A - C
..A - D
........A
正解と解説を見る
正解: A
- A: 閉じの
"""を含めた共通のインデントは空白4つなので、A の前に4つ残ります。 - B: 閉じの
"""が左にあるので、取り除かれるインデントは4つだけです。A の行の8つ全部は消えません。 - C: 取り除かれるのは「すべての行に共通するインデント」です。閉じの
"""の行も含めて考えます。 - D: 共通のインデントは取り除かれるので、8つ全部は残りません。
ポイント
- テキストブロックは、閉じの
"""も含めた すべての行に共通するインデント を取り除きます。 - 閉じの
"""は空白4つの位置にあるので、取り除かれるのは4つだけで、A の前に4つ残ります。
「文字列の作成と操作 (テキスト・ブロックを含む)」をこのサイトで解く (記録・間違えた問題の解き直し・AI教師への質問)