İş mantığı
- Java kursu
- Başlangıç
- Ders 114/116
- 6 dk
Metotlar ve koşullarla iş kurallarını yazarsın.
borrowBook yöntemi
Ödünç verme mantığı: listedeki ilk müsait kitabı bul ve available alanını false yap. for-each döngüsü ile listeyi tararsın.
void borrowBook() {
for (Book b : books) {
if (b.available) {
b.available = false;
return;
}
}
}Bulunca return ile döngüden çıkar; böylece yalnızca bir kitap ödünç verilir. Müsait kitap yoksa yöntem hiçbir şey yapmadan biter. Bu davranış bir sonraki derste hata fırlatmaya dönüşecek.
returnBook yöntemi
Ödünç verilen kitabı geri almak için returnBook yazılır: ilk available == false olan kitabı bul ve true yap. Mantık borrowBook'un tersidir.
void returnBook() {
for (Book b : books) {
if (!b.available) {
b.available = true;
return;
}
}
}! ile değili alınır; böylece ödünçte olan kitap bulunur. Bu dersin code görevinde yalnızca borrowBook'u yazacaksın; returnBook aynı mantığın aynadaki yansımasıdır ve istersen kendin ekleyebilirsin.
Uygulama borrowBook yaz ve çağır
Catalog sınıfına void borrowBook() ekle: for (Book b : books) ile gezer, ilk müsait kitabın available alanını false yap ve return ile çık. main'de cat.borrowBook() çağır ve cat.books yazdır.
Başlangıç kodu
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
Catalog cat = new Catalog();
cat.addBook("Suç ve Ceza");
// borrowBook'u çağır, listeyi yazdır
}
}
class Book {
String title;
boolean available;
Book(String title) {
this.title = title;
this.available = true;
}
public String toString() {
return (available ? "[müsait] " : "[ödünç] ") + title;
}
}
class Catalog {
ArrayList<Book> books = new ArrayList<>();
void addBook(String title) {
books.add(new Book(title));
}
}Örnek çözüm
// Catalog içinde:
void borrowBook() {
for (Book b : books) {
if (b.available) {
b.available = false;
return;
}
}
}
// main içinde:
cat.borrowBook();
System.out.println(cat.books);Beklenen çıktı
[[ödünç] Suç ve Ceza]
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 for-each döngüsünü tamamla
for (____ b : books) {
if (b.available) { b.available = false; return; }
}
for (Book b : books) {
if (b.available) { b.available = false; return; }
}
Açıklama: for-each döngüsü Book türünde değişkenle listeyi gezer.
2 borrowBook müsait kitap bulunca ne yapar?
- available'ı false yapar ve return ile çıkar Doğru cevap
- Listeyi siler
- Tüm kitapları ödünç verir
- Hata fırlatır
Açıklama: available false yapılır ve return ile döngüden çıkılır; yalnızca bir kitap ödünç verilir.
3 Yöntemi davranışıyla eşleştir
| Kavram | Anlamı |
|---|---|
borrowBook |
available false |
returnBook |
available true |
addBook |
Listeye ekle |
toString |
Dize gösterim |