Kotlin
Ödünç verme
checkout ve return fonksiyonlarıyla ödünç akışını yazarsın.
Ödünç verme
Ödünç verme için kütüphane hangi kitabın hangi üyede olduğunu takip etmelidir. Bunun için val borrowed = mutableMapOf<String, String>() kullanılır: anahtar kitap numarası isbn, değer ise üye numarası memberId.
fun checkout(memberId: String, isbn: String) metodu borrowed[isbn] = memberId ile kayıt ekler. fun returnBook(isbn: String) metodu borrowed.remove(isbn) ile kaydı siler. Böylece bir kitap aynı anda yalnızca bir üyede olabilir; iade edildiğinde kayıt temizlenir ve kitap tekrar uygun hale gelir.
checkout ve returnBook
checkout metodu kitabı üyeye verir: fun checkout(memberId: String, isbn: String) { borrowed[isbn] = memberId; println("Ödünç: $memberId -> $isbn") }.
returnBook metodu kitabı geri alır: fun returnBook(isbn: String) { borrowed.remove(isbn); println("İade: $isbn") }. Çıktı, işlemin yapıldığını konsola bildirir. Bu iki metot Library sınıfının yanına eklenir ve main içinde lib.checkout("M1", "978-1") biçiminde çağrılır.
Uygulama checkout ve returnBook ekle
Library sınıfına val borrowed = mutableMapOf<String, String>() ekle. fun checkout(memberId: String, isbn: String) metodu yaz: borrowed[isbn] = memberId ve println("Ödünç: $memberId -> $isbn"). fun returnBook(isbn: String) metodu yaz: borrowed.remove(isbn) ve println("İade: $isbn"). main içinde önce checkout("M1", "978-1") sonra returnBook("978-1") çağır.
Örnek çözümü göster
data class Book(val title: String, val author: String, val isbn: String)
data class Member(val name: String, val id: String)
class Library {
val books = mutableListOf<Book>()
val members = mutableListOf<Member>()
val borrowed = mutableMapOf<String, String>()
fun addBook(book: Book) { books.add(book) }
fun addMember(member: Member) { members.add(member) }
fun checkout(memberId: String, isbn: String) {
borrowed[isbn] = memberId
println("Ödünç: $memberId -> $isbn")
}
fun returnBook(isbn: String) {
borrowed.remove(isbn)
println("İade: $isbn")
}
}
fun main() {
val lib = Library()
lib.addBook(Book("Suç ve Ceza", "Dostoyevski", "978-1"))
lib.addMember(Member("Ayşe", "M1"))
lib.checkout("M1", "978-1")
lib.returnBook("978-1")
}
Kendini test et
-
borrowed.remove(isbn) ne yapar?
- Ödünç kaydını siler
- Kitabı ödünç verir
- Yeni üye ekler
- Listeyi yazdırır
Cevabı göster
Ödünç kaydını siler — remove metodu anahtarı haritadan kaldırır, yani kitabı iade eder.
-
Ödünç kavramlarını eşle
- borrowed[isbn]
- Ödünç kaydı
- borrowed.remove(isbn)
- İade
- memberId
- Üye
- isbn
- Kitap
-
returnBook metodunu tamamla
fun returnBook(isbn: String) {
borrowed.____(isbn)
}
Cevabı göster
fun returnBook(isbn: String) {
borrowed.remove(isbn)
}
Sıradaki ders: Arama ve filtreleme