Şimdi Ara

While ve DoWhile Farkı

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
5
Cevap
0
Favori
316
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • İnternetten java öğrenirken yazdığım sayının rakamlarını toplayan kod yazdım do while ile;

    Scanner scan = new Scanner(System.in);

    System.out.println("Lütfen sayıyı giriniz: ");
    int sayi = scan.nextInt();
    int sonuc = 0;

    do {
    sonuc += sayi%10;
    sayi = sayi/10;

    }

    while (sayi > 0); {
    System.out.println("Sonuç: " + sonuc);



    kod başarılı bir şekilde çalışıyor fakat ben bu algoritmayı sadece while yaptığımda;

    int sayi2 = scan.nextInt();
    int sonuc2 = 0;

    while (sayi2>0) {

    sonuc2 += sayi2%10;
    sayi2 = sayi2/10;


    }
    System.out.println("Sonuç: " + sonuc2);

    Bana yine aynı sonucu veriyor. Bu algoritma yüzünden mi kaynaklanıyor ? Do while'ın farkı bildiğim kadarıyla ne olursa olsun o kod bir kere çalışacak. Peki yukarıda while niye yine başarılı oluyor ?







  • Do while'da değişen şu olacak. Eğer 0'dan küçük bir sayı girersen yine bir kere çalışacak.
  • While da kontrolü baştan yapıyosun. Do While da kontrolü sonda yapıyosun. Aradaki fark bu. Özel bazı durumlarda kontrolü başta veya sonda yapmanın farkı oluyor. Örnek vermeme gerek yok heralde. Anladın sen onu.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: Iqtam

    While da kontrolü baştan yapıyosun. Do While da kontrolü sonda yapıyosun. Aradaki fark bu. Özel bazı durumlarda kontrolü başta veya sonda yapmanın farkı oluyor. Örnek vermeme gerek yok heralde. Anladın sen onu.
    tam böyle değil. do while de sart ne olursa olsun en az bir kez kod blogunun için calısır sonra tekrar calıstırmaya gerek var mı diye kontrol eder. Yani önce yap sonra kontrol et gibi. Ancak cok cok az durum var ki while yerine do while kullanman gereksin. bence pek takılma.

    while(false)
    {
    Console.Log("beni göremezsin")
    }
    --ekrana cıktı basmaz


    do{
    Console.Log("hi")
    } while(false)
    ekrana 1 kez hi yazar.



    < Bu mesaj bu kişi tarafından değiştirildi mahoni_38 -- 15 Eylül 2018; 21:47:32 >
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.