CodeBlanks Logo Icon CodeBlanks

Miktar güncelleme

updateQuantity ve removeItem ile sepeti yönetirsin.

Miktar güncelleme

Bu derste sepetteki bir ürünü güncellemeyi ve silmeyi öğreneceğiz. cart.set(i, yeni) i. öğeyi değiştirir; cart.remove(i) i. öğeyi siler:

cart.set(0, "Elma x2");  // ilk öğeyi günceller
cart.remove(1);       // ikinci öğeyi siler

İndeks 0'dan başlar. set öğeyi değiştirir ama boyutu korur; remove öğeyi siler ve boyutu bir azaltır. Silme sonrası dizinler kayar; bu yüzden silme sırasına dikkat edin.

İndeks ve sıralama

set ve remove indeks ister. İndeks 0'dan başlar: cart.get(0) ilk, cart.get(1) ikinci öğedir.

ArrayList<String> cart = new ArrayList<>();
cart.add("Elma");
cart.add("Ekmek");
cart.set(0, "Elma x2");  // [Elma x2, Ekmek]
cart.remove(1);       // [Elma x2]

İlk öğeyi güncellemek için set(0, ...), ikinciyi silmek için remove(1) kullanılır. Silme sonrası kalan öğelerin indeksi kayar.

Uygulama Ürün güncelle ve sil

Önceki koda ekle: cart.set(0, "Elma x2") ile ilk öğeyi güncelle, cart.remove(1) ile ikinci öğeyi sil. System.out.println(cart) ile güncel sepeti yazdır. (Fiyat ve toplam satırlarını koru.)

Başlangıç kodu

Main.java
import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> cart = new ArrayList<>();
        cart.add("Elma");
        cart.add("Ekmek");
        System.out.println(cart);
        System.out.println(cart.size());
        ArrayList<Double> prices = new ArrayList<>();
        prices.add(10.0);
        prices.add(20.0);
        double subtotal = 0;
        for (double price : prices) {
            subtotal += price;
        }
        double tax = subtotal * 0.10;
        double total = subtotal + tax;
        System.out.println("Ara toplam: " + subtotal);
        System.out.println("Vergi: " + tax);
        System.out.println("Toplam: " + total);
        // Sepeti güncelle: bir ürünün miktarını değiştir ve birini sil
    }
}

Örnek çözüm

Main.java
import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> cart = new ArrayList<>();
        cart.add("Elma");
        cart.add("Ekmek");
        cart.set(0, "Elma x2");
        cart.remove(1);
        ArrayList<Double> prices = new ArrayList<>();
        prices.add(10.0);
        prices.add(20.0);
        double subtotal = 0;
        for (double price : prices) {
            subtotal += price;
        }
        double tax = subtotal * 0.10;
        double total = subtotal + tax;
        System.out.println(cart);
        System.out.println("Ara toplam: " + subtotal);
        System.out.println("Toplam: " + total);
    }
}

Beklenen çıktı

[Elma x2]
Ara toplam: 30.0
Toplam: 33.0

Soru ve cevaplar

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

1 Güncelleme metotlarını eşleştir

Kavram Anlamı
set Öğeyi değiştir
remove Öğeyi sil
add Öğe ekle
size() Öğe sayısı

2 cart.set(0, "Elma x2") ne yapar?

  • Sepete Elma x2 ekler
  • Sepetten Elma x2 çıkarır
  • Sepeti sıralar
  • İlk öğeyi Elma x2 yapar Doğru cevap

Açıklama: set(0, ...) ilk öğeyi değiştirir.

3 remove çağrısını tamamla

Soru
cart.____(1);
Cevap
cart.remove(1);

Açıklama: cart.remove(1) ikinci öğeyi siler.

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