Görev listeleme
- Java kursu
- Başlangıç
- Ders 85/116
- 6 dk
listTasks ile görevleri yazdırırsın.
Görev listeleme: listTasks
Şimdi TodoList'e görevleri okunabilir biçimde yazdıran bir metot ekleyeceğiz: listTasks. Bu metot, listedeki her görevi ayrı satırda basar.
void listTasks() {
for (Task t : tasks) {
System.out.println(t);
}
}For-each döngüsü, listedeki her Task'ı sırayla t değişkenine koyar. println(t) de toString metodunu çağırıp [ ] Alışveriş gibi okunabilir bir satır basar.
Boş liste durumu
listTasks metodu, liste boşsa hiçbir şey yazdırmaz; for-each döngüsü sıfır kez döner. Bu sessiz davranış çoğu zaman istediğimizdir.
TodoList empty = new TodoList();
empty.listTasks();
// (çağrı bir şey yazdırmadan biter)İstersen metot başında if (tasks.isEmpty()) ile bir bildirim yazdırabilirsin. Şimdilik sade tutuyoruz; ileride bu davranışı özelleştirebilirsin.
Uygulama listTasks metodunu yaz
TodoList sınıfı içine void listTasks() metodunu tanımla; gövde, for (Task t : tasks) döngüsü ile her görevi System.out.println(t) ile yazdırsın. main içinde iki görev ekle ve list.listTasks() çağır.
Başlangıç kodu
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
TodoList list = new TodoList();
list.addTask("Alışveriş");
list.addTask("Ödev");
// Görevleri listele
}
}
class Task {
String title;
boolean done;
Task(String title) {
this.title = title;
this.done = false;
}
public String toString() {
return (done ? "[x] " : "[ ] ") + title;
}
}
class TodoList {
ArrayList<Task> tasks = new ArrayList<>();
void addTask(String title) {
tasks.add(new Task(title));
}
// listTasks metodunu tanımla: her görevi ayrı satırda yazdır
}Örnek çözüm
// TodoList içinde:
void listTasks() {
for (Task t : tasks) {
System.out.println(t);
}
}
// main içinde:
list.listTasks();Beklenen çıktı
[ ] Alışveriş [ ] Ödev
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Parça ve işlevi eşleştir
| Kavram | Anlamı |
|---|---|
for (Task t : tasks) |
Listeyi gezer |
println(t) |
Görevi yazdırır |
toString |
Görevi metne çevirir |
tasks |
Tüm görevlerin listesi |
2 listTasks metodu liste boşsa ne yapar?
- Hiçbir şey yazdırmaz
- Null yazar Doğru cevap
- Hata fırlatır
- Boş bir satır basar
Açıklama: For-each boş listede sıfır kez döner.
3 Boşluğu doldur: listTasks döngüsü
void listTasks() {
for (Task t : ____) {
System.out.println(t);
}
}
void listTasks() {
for (Task t : tasks) {
System.out.println(t);
}
}
Açıklama: for (Task t : tasks) ile liste gezilir.