Dart
Toplam hesaplama
Subtotal ve vergi dahil toplamı hesaplamayı öğrenirsin.
Toplam hesaplama
Sepetteki ürünlerin ara toplamı (subtotal), vergi ve ek ücretler hariç tutardır. getSubtotal metodu prices listesindeki tüm fiyatları toplar ve bir double olarak döndürür.
Toplama için bir sum değişkeni başlatıp for-in ile her fiyatı gezeriz: double sum = 0; for (var p in prices) { sum += p; } return sum;. += işleci, sol taraftaki değişkene sağ tarafı ekler. Döngü sonunda sum, tüm fiyatların toplamıdır.
Vergi ve toplam
Ara toplam vergi ve ek ücretler öncesi tutardır. Vergi dahil toplam için subtotal * (1 + vergiOranı) kullanılır; örneğin %20 vergi için subtotal * 1.20 çarpanı uygulanır.
Bu projede getSubtotal yalnızca ara toplamı döndürür; vergili toplam main içinde hesaplanır. İkisini ayırmak, vergi oranı değiştiğinde yalnızca çarpanı güncellemeyi kolaylaştırır. Bu ayrım, vergi oranlarının ülkeden ülkeye değişmesi yüzünden önem taşır.
Uygulama getSubtotal metodunu yaz
Cart sınıfına bir getSubtotal metodu ekle. İmzası: double getSubtotal(). Gövdede double sum = 0; ile başla, for (var p in prices) ile her fiyatı gez, sum += p; ile topla ve return sum; ile döndür. main iki ürün ekleyip getSubtotal'ı yazdırıyor. Çıktı tek satırda 35.0 olmalı.
Örnek çözümü göster
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 main() {
var cart = Cart();
cart.addItem("Defter", 25.0);
cart.addItem("Kalem", 10.0);
print(cart.getSubtotal());
}
Kendini test et
-
Parçayı işlevine eşle
- double sum = 0
- Toplamı başlatır
- for (var p in prices)
- Her fiyatı gez
- sum += p
- Fiyatı ekle
- return sum
- Toplamı döndür
-
getSubtotal ne döndürür?
double getSubtotal() { ... }
- Vergisiz ara toplamı
- Vergi dahil toplamı
- Ürün adedini
- İlk ürünün fiyatını
Cevabı göster
Vergisiz ara toplamı — getSubtotal vergi öncesi ara toplamı döndürür.
-
return satırını yaz
double getSubtotal() {
double sum = 0;
for (var p in prices) {
sum += p;
}
____
}
Cevabı göster
double getSubtotal() {
double sum = 0;
for (var p in prices) {
sum += p;
}
return sum;
}
Sıradaki ders: Sepeti listeleme