Özet - Güvenli Bölme
Coddy'nin Dart Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 43 / 65.
Görev
Kolayİstisna işleme kullanarak güvenli bir bölme hesaplayıcısı uygulayan bir program oluşturun. Programınız sıfıra bölme hatalarını düzgün bir şekilde ele almalı ve hatalar meydana geldiğinde kullanıcılara açık geri bildirim sağlamalıdır.
- İlk sayıyı (bölünen) temsil eden bir dize girdisi okuyun
- İkinci sayıyı (bölen) temsil eden bir dize girdisi okuyun
- İki double parametresi alan ve double sonucu döndüren
safeDivisionadlı bir fonksiyon oluşturun - Fonksiyon, olası bölme hatalarını ele almak için bir
try-catchbloğu kullanmalıdır: trybloğunda: Bölenin sıfır olup olmadığını kontrol edin ve doğruysa"Division by zero is not allowed"mesajıyla bir istisna fırlatın; aksi takdirde bölme işlemini gerçekleştirincatchbloğunda: İstisnayı ele alın ve güvenli varsayılan değer olarak0.0döndürün- Girdi dizelerini
double.parse()kullanarak double değerlerine dönüştürün - Dönüştürülen değerlerle
safeDivisionfonksiyonunu çağırın - Sonuçları aşağıda gösterilen tam biçimde görüntüleyin
Örneğin, girdiler "10.0" ve "2.0" ise programınızın çıktısı şöyle olmalıdır:
Safe Division Calculator
========================
First number: 10.0
Second number: 2.0
Performing division...
Result: 5.0
Operation completed successfullyGirdiler "15.0" ve "0.0" ise programınızın çıktısı şöyle olmalıdır:
Safe Division Calculator
========================
First number: 15.0
Second number: 0.0
Performing division...
Error: Division by zero is not allowed
Using safe default value: 0.0
Operation completed with error handlingGirdiler "7.5" ve "2.5" ise programınızın çıktısı şöyle olmalıdır:
Safe Division Calculator
========================
First number: 7.5
Second number: 2.5
Performing division...
Result: 3.0
Operation completed successfullyProgramınız, sıfıra bölme işlemini ele almak için bir safeDivision bloğu kullanan try-catch fonksiyonunu uygulamalıdır. try bloğunda, bölenin 0.0 değerine eşit olup olmadığını kontrol edin ve doğruysa bir istisnayı manuel olarak tetiklemek için throw anahtar sözcüğünü kullanın. catch bloğunda hata mesajını yazdırın ve güvenli geri dönüş değeri olarak 0.0 döndürün. Ana program bu fonksiyonu çağırmalı ve bir hata oluşup oluşmadığına bağlı olarak farklı tamamlanma mesajları görüntülemelidir.
Kendin dene
import 'dart:io';
// TODO: safeDivision fonksiyonunu burada oluşturun
void main() {
// Girdiyi oku
String? firstInput = stdin.readLineSync();
String? secondInput = stdin.readLineSync();
// Dizeleri double türüne dönüştür
double firstNumber = double.parse(firstInput!);
double secondNumber = double.parse(secondInput!);
// Başlığı görüntüle
print("Safe Division Calculator");
print("========================");
print("First number: $firstNumber");
print("Second number: $secondNumber");
print("Performing division...");
// TODO: safeDivision fonksiyonunu çağırın ve sonucu işleyin
// Uygun tamamlanma mesajını görüntülemek için bir hata oluşup oluşmadığını kontrol etmeyi unutmayın
}Mantık & Akış bölümündeki tüm dersler
1İleri Düzey Liste İşlemleri
Liste Özellikleri: first & lastListe Durumu: isEmpty & isNotEmptyBir Listeyi Tersine ÇevirmeListeye Ekleme: insertListeden Silme: removeWhereListede Bulma: indexOfBir Listeyi SıralamaBir Listeyi KarıştırmaÖzet - Liste Düzenleyici4İleri Seviye Map İşlemleri
Map Üzerinde GezinmeAnahtar ve Değer KontrolüMap Özellikleri: keys & valuesKoşullu Ekleme: putIfAbsentMap'ten Öge Kaldırmaİç İçe Map'lerÖzet - Envanter Güncelleme7İleri Seviye Fonksiyonlar
Anonim FonksiyonlarFonksiyonları Argüman Olarak AktarmaClosure'ları AnlamakÖzyinelemeye GirişÖzyinelemeli Fonksiyon: Geri SayımÖzyinelemeli Fonksiyon: FaktöriyelÖzet - Liste İşleyici10Son Meydan Okumalar
Meydan Okuma: Not SıralayıcıMeydan Okuma: Sesli Harf SayacıMeydan Okuma: FizzBuzz2Fonksiyonel Liste İşlemleri
'map' ile Dönüştürme'where' ile Filtreleme'.toList()' Kullanımı'any' ile Koşul Kontrolü'every' ile Koşullar'firstWhere' ile BulmaÖzet - Veri Filtreleme5Proje: Alışveriş Sepeti Hesaplayıcı
Proje KurulumuSepete Ürün Ekleme3Kümeler
Küme Nedir?Küme OluşturmaKümelere Eleman Ekleme ve ÇıkarmaKüme İçinde Eleman KontrolüListeyi Kümeye DönüştürmeKüme BirleşimiKüme KesişimiKüme FarkıÖzet - Benzersiz Davetli Listesi6Temel Hata Yönetimi
İstisnalar Nedir?'try-catch' Bloğu'on' ile İstisnaları Yakalamak'finally' Bloğuİstisna FırlatmakÖzet - Güvenli BölmeKendi başına pratik yap: Online Dart derleyicisi