Menu
Coddy logo textTech

בניית טקסט ביעילות

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Kotlin של Coddy. שיעור 47 מתוך 63.

StringBuilder צובר טקסט באמצעות קריאות append, ואז toString מפיקה את ה-String הסופי. אפשר להוסיף תוויות, מספרים ומפרידים בתוך לולאה בלי לבנות מחדש באופן ידני String בלתי משתנה שלם בכל שלב. החליטו בדיוק היכן המפרידים צריכים להופיע.

בתוך main:

val result = StringBuilder()
for (n in 1..3) {
    if (n > 1) result.append("-")
    result.append(n)
}
println(result.toString())

המפריד מתווסף לפני כל פריט מלבד הראשון, וכך נמנע מקף בסוף.

השתמשו ב־StringBuilder.append לטקסט שנבנה בהדרגה וב־toString עבור ה־String הסופי.

challenge icon

אתגר

בינוני

השלימו את numberLine עם הפרמטרים count: Int. השתמשו ב-StringBuilder כדי להחזיר את המספרים מ-1 עד count, מופרדים במקף יחיד, ללא מקף בתחילת הרצף או בסופו. count הוא בין 0 ל-20; אפס מחזיר מחרוזת ריקה.

אלא אם צוין לעיל טווח מחמיר יותר, אוספים מכילים לכל היותר 100 איברים בכל רמה, וארגומנטים של מספרים שלמים וערכים של מספרים שלמים באוספים הם בין ‎-1000 ל-1000. טקסט שסופק לצורך ניתוח עשוי לכלול ייצוגים לא תקינים או מחוץ לטווח, כמתואר.

החזירו ערך מסוג String. השאירו את קוד הקלט/פלט שסופק. הוא קורא ארגומנטים סקלריים, אחד בכל שורה; רשימה מתחילה במספר האיברים שלה ואחריו האיברים, ומפה מתחילה במספר הרשומות שלה ואחריו כל מפתח וערך. רשימות מקוננות חוזרות על התבנית של מספר איברים ואחריו איברים עבור כל שורה. ה-main שסופק מדפיס את הערך המוחזר ואחריו תו שורה חדשה אחד. רשימות משתמשות בתבנית הסטנדרטית של Kotlin עם סוגריים מרובעים; אל תדפיסו תוויות נוספות.

נסו בעצמכם

fun numberLine(count: Int): String {
    // כתבו כאן את הפתרון שלכם.
    return ""
}
fun main() {
    val count = readln().toInt()
    println(numberLine(count))
}
quiz iconבחנו את עצמכם

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

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

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