Menu
Coddy logo textTech

StringBuilder の基礎

CoddyのJavaジャーニー「ロジックとフロー」セクションの一部 — レッスン 44/59。

StringBuilder は、可変(変更可能)な文字列を作成するために使用されます。通常の String 連結よりも、文字列を複数回変更する必要がある場合に効率的です。

初期テキストでStringBuilderを作成:

StringBuilder sb = new StringBuilder("Hello");

append() を使用してさらにテキストを追加:

sb.append(" World");

上記のコードを実行した後、sb には次のものが含まれます:

Hello World

insert() を使用して、特定の位置にテキストを追加してみましょう:

StringBuilder sb = new StringBuilder("Java");
sb.append(" is");      // 末尾に追加
sb.insert(0, "Hey ");  // 位置 0 (先頭) に追加

上記のコードを実行した後、sb には次のものが含まれます:

Hey Java is

StringBuilder を String に変換する:
結果を String として返すか保存する必要がある場合、toString() を使用します:

StringBuilder sb = new StringBuilder("Hello");
sb.append(" World");

String result = sb.toString();  // String に変換
System.out.println(result);     // 出力: Hello World

なぜ toString() を使用するのか? String 型を返すメソッドは StringBuilder を直接返すことができません - まず toString() を使用して変換する必要があります。

challenge icon

チャレンジ

簡単

buildPhrase という名前のメソッドを作成し、3つの引数を受け取る:

  1. フレーズの始まりのための String (start)
  2. 中間部分のための String (middle)
  3. 終わり部分のための String (end)

メソッドは以下を行うべきです:

  1. start 文字列で StringBuilder を作成する
  2. スペースと middle 文字列を追加する
  3. スペースと end 文字列を追加する
  4. 最後に感嘆符を追加する
  5. 最終文字列を返す

戻り値のメッセージは以下の通りであるべきです:

  • 入力が null の場合: return "Invalid input"
  • 成功した場合: 構築されたフレーズを返す

チートシート

StringBuilder は、可変文字列を作成するために使用され、複数の修正に対して String 連結よりも効率的です。

初期テキストで StringBuilder を作成:

StringBuilder sb = new StringBuilder("Hello");

append() を使用して末尾にテキストを追加:

sb.append(" World");

insert() を使用して特定の位置にテキストを挿入:

sb.insert(0, "Hey ");  // 位置 0 (先頭) に追加

StringBuilder を String に変換:

String result = sb.toString();

自分で試してみよう

import java.util.Scanner;

public class Main {
    public static String buildPhrase(String start, String middle, String end) {
        // ここにコードを書いてください
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String start = scanner.nextLine();
        String middle = scanner.nextLine();
        String end = scanner.nextLine();
        
        if (start.equals("null")) start = null;
        if (middle.equals("null")) middle = null;
        if (end.equals("null")) end = null;
        
        System.out.println(buildPhrase(start, middle, end));
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン