Soru & Cevap

EditText Boş Bırakılınca Program Durduruluyor

02.01.2019 - 09:57

Merhabalar ben bir uygulama geliştiriyorum Ösym-Meb puan hesaplamayla ilgili henüz dgs kısmını yapıyorum burda yaptıklarımı referans alarak diğer kısımlarınıda oluşturacağım.

Soruma gelecek olursak uygulamanın kullanıcıdan sayı isteme kısmını ve hesap kısmını kısmen yapmış bulunmaktayım edittext ler ile fakat 2 tane sorunum var.

1.Kullanıcı sayı girmediğinde "Program Durduruldu" hatası alıyorum.(Buraya yapmak istediğim "Lütfen sayı giriniz" gibi bir hata mesajı.)

2.Kullanıcı örneğin DGS puan hesaplama yapıyor isem 60 tan fazla net girdiği zaman uyarı vermemesi ve fazla girilen sayılarla da hesap yapması.

yazdığım kodlar aşağıdaki gibi;

   @SuppressLint("SetTextI18n")
    public void onButtonClick(View v) {

        EditText e1 = (EditText) findViewById(R.id.d1);

        EditText e2 = (EditText) findViewById(R.id.d2);

        EditText e3 = (EditText) findViewById(R.id.y1);

        EditText e4 = (EditText) findViewById(R.id.y2);

        EditText e5 = (EditText) findViewById(R.id.o1);




        TextView sonuc1 = (TextView) findViewById(R.id.s1);
        TextView sonuc2 = (TextView) findViewById(R.id.s2);
        TextView sonuc3 = (TextView) findViewById(R.id.s3);


        double sayi1 = Double.parseDouble(e1.getText().toString());
        double sayi2 = Double.parseDouble(e2.getText().toString());
        double sayi3 = Double.parseDouble(e3.getText().toString());
        double sayi4 = Double.parseDouble(e4.getText().toString());
        double obp1 = Double.parseDouble(e5.getText().toString());
        double obp = 0.6;
        
        double sayisal = ((145.370) + (3 * sayi1 - ((3 * sayi3) / 4)) + (0.6 * sayi2 - ((0.6 * sayi4) / 4)) + (obp * obp1));
        double sozel = ((122.380) + (0.6 * sayi1 - ((0.6 * sayi3) / 4)) + (3 * sayi2 - ((3 * sayi4) / 4)) + (obp * obp1));
        double esit = ((133.880) + (1.8 * sayi1 - ((1.8 * sayi3) / 4)) + (1.8 * sayi2 - ((1.8 * sayi4) / 4)) + (obp * obp1));

        sonuc1.setText(Double.toString(sayisal));
        sonuc2.setText(Double.toString(sozel));
        sonuc3.setText(Double.toString(esit));


    }

 

Yardımcı olursanız çok makbule geçer şimdiden teşekkürler :)

(Not: henüz java da ve android studio da yeniyim)

 

190 Görüntülenme

1 Cevap

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

picture-84564-1548924191.jpg
emrekaplan606
03.01.2019 - 09:00

Merhaba,

boş bir değeri "null" double veya herhangi bir şeye parse edemezsin. Tüm edittext leri kontrol et eğer "null" veya "" değer geliyorsa bunu 0 kabul ederek işlemlerini yapmaya devam et. Kolay gelsin.

Bünyamin
03.01.2019 - 01:37
dediğim gibi biraz yeniyim javada anladığım kadarıyla mesela e1 i kontrol edip null veya "" sa 0 a eşitleyeceğim ama bunu nasıl yapacağımı tam anlamadım if le denedim ama hata verdi yada ben doğru yazamadım bilmiyorum :)