Menu
Coddy logo textTech

ניתוח ללא חריגות

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

toIntOrNull מחזירה Int עבור מחרוזת של מספר שלם תקינה ובטווח, ו-null כאשר הפענוח נכשל, כולל במקרה של גלישה. שלבו אותה עם הסתעפות בטוחה או עם ערך חלופי של Elvis. הסרת רווחים היא בחירה נפרדת: הסירו רווחים במפורש אם רוצים לאפשר רווחים מסביב.

בתוך main:

println(" 24 ".trim().toIntOrNull() ?: -1)

הסרת הרווחים מסביב מאפשרת להמרה להצליח.

toIntOrNull מדווח על טקסט של מספר שלם לא תקין או מחוץ לטווח בתור null.

challenge icon

אתגר

בינוני

השלם את parseOrMissing עם הפרמטרים text: String. הסר רווחים מתחילת הטקסט ומסופו ונסה לפרש אותו כ-Int. החזר ‎-1 אם הפענוח נכשל או אם הערך מחוץ לטווח של Int.

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

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

נסו בעצמכם

fun parseOrMissing(text: String): Int {
    // כתבו כאן את הפתרון שלכם.
    return 0
}
fun main() {
    val text = readLine().orEmpty()
    println(parseOrMissing(text))
}
quiz iconבחנו את עצמכם

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

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

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