Sepeti listeleme
- Dart kursu
- Başlangıç
- Ders 51/116
- 6 dk
Sepeti formatlı yazdıran metodu yazarsın.
Sepeti listeleme
Sepetteki ürünleri ekrana yazdırmak için printCart metodunu yazacağız. Bu metot names ve prices listelerini dizin ile gezer ve her ürünü tek bir satıra yazar.
Dizin ile gezmek için klasik for döngüsü kullanırız: for (var i = 0; i < names.length; i++). Her yinelemede i 0'dan başlayıp names.length - 1'e kadar gider. names[i] ve prices[i] ile paralel listedeki i. elemanlara erişiriz.
Formatlı çıktı
printCart'ta her ürün tek satırda yazılırken ad ve fiyat boşlukla ayrılır. print("${names[i]} ${prices[i]}"); yazımı interpolation ile iki alanı tek dizeye gömer ve yeni satıra geçer.
Boşluk yerine virgül ya da tire de kullanılabilir; biçimlendirme tercihi senin. Bu projede boşlukla ayıracağız. İki alanı tek satırda yazmak, sepetin hızlıca gözden geçirilmesini sağlar. ${names[i]} süslü parantezli interpolation, ifade (dizin erişimi) gömmek için zorunludur.
Uygulama printCart metodunu yaz
Cart sınıfına bir printCart metodu ekle. İmzası: void printCart(). Gövdede for (var i = 0; i < names.length; i++) ile dizinleri gez ve print("${names[i]} ${prices[i]}"); ile yazdır. main iki ürün ekleyip printCart'ı çağırıyor. Çıktı iki satır olmalı: Defter 25.0 ve Kalem 10.0.
Başlangıç kodu
class Cart {
List<String> names = [];
List<double> prices = [];
void addItem(String name, double price) {
names.add(name);
prices.add(price);
}
double getSubtotal() {
double sum = 0;
for (var p in prices) {
sum += p;
}
return sum;
}
}
// printCart metodunu buraya yaz
}
void main() {
var cart = Cart();
cart.addItem("Defter", 25.0);
cart.addItem("Kalem", 10.0);
cart.printCart();
}Örnek çözüm
class Cart {
List<String> names = [];
List<double> prices = [];
void addItem(String name, double price) {
names.add(name);
prices.add(price);
}
double getSubtotal() {
double sum = 0;
for (var p in prices) {
sum += p;
}
return sum;
}
void printCart() {
for (var i = 0; i < names.length; i++) {
print("${names[i]} ${prices[i]}");
}
}
}
void main() {
var cart = Cart();
cart.addItem("Defter", 25.0);
cart.addItem("Kalem", 10.0);
cart.printCart();
}Beklenen çıktı
Defter 25.0 Kalem 10.0
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 printCart metodu ne yapar?
cart.printCart();- Toplamı hesaplar
- Sepeti ekrana yazar Doğru cevap
- Ürün çıkarır
- Ürün ekler
Açıklama: printCart sepetteki ürünleri ekrana yazdırır.
2 Parçayı işlevine eşle
| Kavram | Anlamı |
|---|---|
names.length |
Eleman sayısı |
names[i] |
İ. ad |
prices[i] |
İ. fiyat |
print(...) |
Ekrana yazar |
3 print satırını yaz
void printCart() {
for (var i = 0; i < names.length; i++) {
print(____);
}
}
void printCart() {
for (var i = 0; i < names.length; i++) {
print("${names[i]} ${prices[i]}");
}
}
Açıklama: İki alan interpolation ile tek dizeye gömülür.