Menu
Coddy logo textTech

יסודות StringBuilder

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Java של Coddy. שיעור 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 למחרוזת:
כשצריך להחזיר או לשמור את התוצאה כמחרוזת, משתמשים ב-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 שמקבלת שלושה ארגומנטים:

  1. מחרוזת (start) לתחילת הביטוי
  2. מחרוזת (middle) לחלק האמצעי
  3. מחרוזת (end) לסיום

המתודה צריכה:

  1. ליצור StringBuilder עם מחרוזת ההתחלה
  2. להוסיף רווח ואת המחרוזת האמצעית
  3. להוסיף רווח ואת מחרוזת הסיום
  4. להוסיף סימן קריאה בסוף
  5. להחזיר את המחרוזת הסופית

הודעות ההחזרה צריכות להיות:

  • אם קלט כלשהו הוא null: להחזיר "Invalid input"
  • במקרה של פעולה מוצלחת: להחזיר את הביטוי שנבנה

נסו בעצמכם

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בחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר Java אונליין