יסודות 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().
אתגר
קלצרו מתודה בשם buildPhrase שמקבלת שלושה ארגומנטים:
- מחרוזת (
start) לתחילת הביטוי - מחרוזת (
middle) לחלק האמצעי - מחרוזת (
end) לסיום
המתודה צריכה:
- ליצור StringBuilder עם מחרוזת ההתחלה
- להוסיף רווח ואת המחרוזת האמצעית
- להוסיף רווח ואת מחרוזת הסיום
- להוסיף סימן קריאה בסוף
- להחזיר את המחרוזת הסופית
הודעות ההחזרה צריכות להיות:
- אם קלט כלשהו הוא 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));
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםגישה לאיברים במערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםסיכום — מערכים דו־ממדייםחיבור וחיסור מטריצותמערכים מדורגיםמערכים תלת־ממדיים ומעבר להםתבניות נפוצות במערכים דו־ממדייםסיכום — כל מה שצריך לדעת על מערכים5HashSet חלק 2
מתמטיקה - איחוד של HashSetsמתמטיקה - חיתוך של HashSetמתמטיקה - הפרש קבוצותמתמטיקה - הפרש סימטריתת־קבוצות וקבוצות־עלמעבר על קבוצות8פעולות מתקדמות על מחרוזות
יסודות StringBuilderמבוא ל-StringBufferיסודות ביטויים רגולרייםהתאמת תבניות באמצעות RegexStringTokenizerעיצוב מחרוזות מתקדםתרגלו בעצמכם: קומפיילר Java אונליין