CodeBlanks Logo Icon CodeBlanks

Görev ekleme

addTask ile listeye görev eklersin.

Görev ekleme: addTask metodu

Şimdi TodoList adında ikinci bir sınıf kuracağız. Bu sınıf, görevleri bir ArrayList<Task> içinde tutar ve addTask metodu ile yeni görev ekler.

class TodoList {
  ArrayList<Task> tasks = new ArrayList<>();
  void addTask(String title) {
    tasks.add(new Task(title));
  }
}

addTask metodu yeni bir Task nesnesi oluşturup listeye ekler. Böylece çağıran taraf sadece başlığı verir; nesne oluşturma işi metot içinde saklı kalır.

TodoList ve Task birlikte

TodoList sınıfı, Task nesnelerini bir listede saklar. addTask metodu her çağrıda listeye bir eleman katar.

TodoList list = new TodoList();
list.addTask("Alışveriş");
list.addTask("Ödev");
System.out.println(list.tasks);
// [[ ] Alışveriş, [ ] Ödev]

Listeyi doğrudan yazdırdığımızda köşeli parantez içinde tüm görevleri görürüz. İleride listTasks metodu ile daha okunabilir bir çıktı üreteceğiz.

Uygulama addTask metodunu yaz

TodoList sınıfı içine void addTask(String title) metodunu tanımla; gövde tasks.add(new Task(title)) yapsın. main içinde list.addTask("Alışveriş") ve list.addTask("Ödev") çağır, sonra System.out.println(list.tasks) ile yazdır.

Başlangıç kodu

Main.java
import java.util.ArrayList;

public class Main {
  public static void main(String[] args) {
    TodoList list = new TodoList();
    // İki görevi listeye ekle
    // Görev listesini yazdır
  }
}

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<>();
  // addTask metodunu tanımla: yeni Task oluştur ve tasks'a ekle
}

Örnek çözüm

Main.java
// TodoList içinde:
void addTask(String title) {
  tasks.add(new Task(title));
}
// main içinde:
list.addTask("Alışveriş");
list.addTask("Ödev");
System.out.println(list.tasks);

Beklenen çıktı

[[ ] Alışveriş, [ ] Ödev]

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Boşluğu doldur: listeye ekle

Soru
void addTask(String title) {
  tasks.____(new Task(title));
}
Cevap
void addTask(String title) {
  tasks.add(new Task(title));
}

Açıklama: tasks.add(new Task(title)) yeni görevi ekler.

2 Çağrı ve sonuç eşleştir

Kavram Anlamı
addTask("X") Listeye X eklenir
list.tasks Tüm görevlerin listesi
new Task(title) Yeni görev nesnesi
System.out.println(list.tasks) Köşeli parantezli çıktı

3 addTask metodunun dönüş türü ne olmalı?

  • int Doğru cevap
  • void
  • Task
  • String

Açıklama: addTask bir şey döndürmez; sadece listeye ekler.

Başlangıç bölümündeki tüm dersler