Menu
Coddy logo textTech

המתודה Contains

חלק מהיחידה יסודות במסלול ה-Kotlin של Coddy. שיעור 82 מתוך 93.

משימה נפוצה בעבודה עם רשימות היא לבדוק אם רכיב מסוים קיים באוסף. Kotlin מספקת את המתודה contains() למטרה זו. היא מחזירה true אם הרכיב נמצא, ו-false אחרת.

val fruits = listOf("Apple", "Banana", "Orange")
println(fruits.contains("Banana"))  // true
println(fruits.contains("Grape"))   // false

Kotlin מציעה גם חלופה קריאה יותר באמצעות האופרטור in, שעושה בדיוק את אותו הדבר:

val numbers = listOf(1, 2, 3, 4, 5)
println(3 in numbers)   // true
println(10 in numbers)  // false

אפשר גם לבדוק אם רכיב אינו נמצא ברשימה באמצעות !in:

val colors = listOf("Red", "Green", "Blue")
if ("Yellow" !in colors) {
    println("Yellow is not available")
}

הבדיקות האלה פועלות גם עם מחרוזות, ומאפשרות לך לוודא אם תו או תת־מחרוזת קיימים:

val word = "Kotlin"
println('K' in word)      // true
println("otl" in word)    // true

האופרטור in שימושי במיוחד במשפטי תנאי, והופך את הקוד שלך למפורש יותר וקל יותר לקריאה מאשר מעבר ידני על רשימה כדי למצוא איבר.

challenge icon

אתגר

בינוני

תקבל רשימה של שמות משתמש מורשים ושם משתמש לבדיקה. קבע אם שם המשתמש מופיע ברשימה המורשית באמצעות האופרטור in.

אם שם המשתמש מופיע ברשימה, הדפס Access granted. אם שם המשתמש אינו מופיע ברשימה, הדפס Access denied.

פורמט הקלט:

  • שורה ראשונה: מספר שלם n המייצג את מספר שמות המשתמש המורשים
  • n השורות הבאות: מחרוזות המייצגות את שמות המשתמש המורשים
  • שורה אחרונה: שם המשתמש לבדיקה

פורמט הפלט:

הדפס Access granted או Access denied, בהתאם לשאלה אם שם המשתמש מופיע ברשימה המורשית.

דוגמה:

אם הרשימה המורשית היא ["alice", "bob", "charlie"] ושם המשתמש לבדיקה הוא bob, הפלט צריך להיות:

Access granted

אם שם המשתמש לבדיקה הוא david, הפלט צריך להיות:

Access denied

נסו בעצמכם

fun main() {
    // קראו את מספר שמות המשתמש המותרים
    val n = readLine()!!.toInt()
    
    // קראו את שמות המשתמש המותרים לתוך רשימה
    val allowedUsernames = mutableListOf<String>()
    for (i in 1..n) {
        allowedUsernames.add(readLine()!!)
    }
    
    // קראו את שם המשתמש שיש לבדוק
    val usernameToCheck = readLine()!!
    
    // TODO: כתבו את הקוד שלכם למטה
    // השתמשו באופרטור 'in' כדי לבדוק אם usernameToCheck נמצא ב-allowedUsernames
    // הדפיסו "Access granted" אם נמצא, ו-"Access denied" אם לא
    
}
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה יסודות

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