Soru & Cevap

Android 101 Eğitimi "While Döngüsü"

21.01.2014 - 11:23

Android 101 Eğitimi " While Döngüsü "  eğitiminde  

ÖRNEK: Aşağıdaki Java programında, bilgisayara girilen pozitif sayıların miktarı ve toplamı bulunuyor ve program negatif bir sayı girişi ile durduruluyor:

programını eclipste çalıştırdığımda hatalı çalışıyor . Gördüğüm hatalar sayacı 0 a eşitlediğimiz zaman ve while döngüzünde büyüktür 0 dediğimizde döngüye girmiyor . Ayrıca loop içerisinde -1 yazıldığında döngüden çıkması için kod olmadığından sonsuz döngüye giriyor . Kendimce düzeltme yaptım . Benim bir hatam mı var yoksa programda mı bilmek istedim . Aşağıda yazdığım kodu sizlerle paylaşıyorum . 

 

[code]

import java.util.Scanner;

public class PozSayMikTop {

    public static void main(String[] args) {

        Scanner giris = new Scanner(System.in);
        int sayi, toplam, sayac;

    

        System.out.println("Islemleri yarida kesmek icin ");
        System.out.println("negatif bir sayi girmeniz yeterli.");
        System.out.print("Bir tamsayi giriniz:");
        sayi = giris.nextInt();

        sayac = 0;
        toplam = 0;

        while (sayac >= 0) {

            sayac++;
            toplam += sayi;
            System.out.print("Bir tamsayı giriniz :");
            sayi = giris.nextInt();
            
            
            if(sayi==-1){
                break;
            }

        }

        System.out.println(sayac + " Tane pozitif sayi girdiniz");
        System.out.println("Hepsini topladigimizda " + toplam + " ediyor . ");
    }

}

[/code]

 

144 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-5727-1475918246.jpg
ahmetkaracanli
21.01.2014 - 05:06

Teşekkür ederim cevabınız faydalı oldu . Hatamı görmüş oldum .

picture-3606-1408610132.jpg
cgural
21.01.2014 - 11:44

Merhaba

Gördüğüm hatalar sayacı 0 a eşitlediğimiz zaman ve while döngüzünde büyüktür 0 dediğimizde döngüye girmiyor . 

emin misiniz? Eğitim içeriğindeki örnekte sizinkinden farklı olarak giris.nextInt() ile alınan say değişkeniyle döngüye giriliyor. Siz sayac ile giriyorsunuz.

Ayrıca loop içerisinde -1 yazıldığında döngüden çıkması için kod olmadığından sonsuz döngüye giriyor .

say=-1 olduğunda  "say > 0" şartına uymayacağı için doğrudan döngü terk ediliyor zaten.