מבוא ל-StringBuffer
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Java של Coddy. שיעור 45 מתוך 59.
StringBuffer דומה ל-StringBuilder, אך הוא בטוח לשימוש במקביל (בטוח למספר פעולות בו-זמנית). משתמשים בו ליצירת מחרוזות ניתנות לשינוי (שאפשר לשנות).
יוצרים StringBuffer עם טקסט התחלתי:
StringBuffer sb = new StringBuffer("Hello");הוסף עוד טקסט באמצעות append():
sb.append(" World");לאחר הרצת הקוד שלמעלה, sb מכיל:
Hello World
שנו טקסט באמצעות insert() ו־replace():
StringBuffer sb = new StringBuffer("Java");
sb.insert(0, "Hi "); // מוסיף בהתחלה
sb.replace(0, 2, "Hey"); // מחליף את "Hi" ב-"Hey"לאחר הרצת הקוד שלמעלה, sb מכיל:
Hey Java
אתגר
קלצרו מתודה בשם modifyText שמקבלת שלושה ארגומנטים:
- מחרוזת (
text) לשינוי - מחרוזת (
target) לחיפוש - מחרוזת (
replacement) שבה יוחלף target
המתודה צריכה:
- ליצור StringBuffer עם טקסט הקלט
- להחליף את המופע הראשון של target ב-replacement
- להוסיף סימן קריאה בסוף
- להחזיר את המחרוזת הסופית
ההודעות שיוחזרו צריכות להיות:
- אם אחד מהקלטים הוא null: להחזיר "Invalid input"
- אם target לא נמצא: להחזיר את הטקסט המקורי עם סימן קריאה
- אם הפעולה הצליחה: להחזיר את הטקסט ששונה
נסו בעצמכם
import java.util.Scanner;
public class Main {
public static String modifyText(String text, String target, String replacement) {
// כתבו את הקוד שלכם כאן
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String text = scanner.nextLine();
String target = scanner.nextLine();
String replacement = scanner.nextLine();
if (text.equals("null")) text = null;
if (target.equals("null")) target = null;
if (replacement.equals("null")) replacement = null;
System.out.println(modifyText(text, target, replacement));
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםגישה לאיברים במערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםסיכום — מערכים דו־ממדייםחיבור וחיסור מטריצותמערכים מדורגיםמערכים תלת־ממדיים ומעבר להםתבניות נפוצות במערכים דו־ממדייםסיכום — כל מה שצריך לדעת על מערכים5HashSet חלק 2
מתמטיקה - איחוד של HashSetsמתמטיקה - חיתוך של HashSetמתמטיקה - הפרש קבוצותמתמטיקה - הפרש סימטריתת־קבוצות וקבוצות־עלמעבר על קבוצות8פעולות מתקדמות על מחרוזות
יסודות StringBuilderמבוא ל-StringBufferיסודות ביטויים רגולרייםהתאמת תבניות באמצעות RegexStringTokenizerעיצוב מחרוזות מתקדםתרגלו בעצמכם: קומפיילר Java אונליין