Bu koddaki yanlış nedir?

ExEz

80+
Katılım
15 Temmuz 2022
Mesajlar
30
Reaksiyon skoru
6
1734633556604.png

Selamlar. Bu kodda vize ve final notlarını hesaplatmaya çalıştım. Notların 100'den fazla çıkması durumunda da geçersiz not diye bir yazı yazmasını istedim. Fakat 100'den büyük olduğu halde de dersten geçildiği kabul ediliyor. Nasıl bunu düzeltebilirim ? Teşekkürler. Bu arada dil Java programlama dilidir.
 
ilk ifte 50den büyük eşit ve 100den küçü eşit olarak kontrol edebilirsin. şuanki kodunda 150 de girsen ilk if içine girer çıkar
 
  • Beğen
Reaksiyonlar: ExEz
ilk ifte 50den büyük eşit ve 100den küçü eşit olarak kontrol edebilirsin. şuanki kodunda 150 de girsen ilk if içine girer çıkar
Öyle yapabiliyor muyduk ? Öğrendiğim iyi oldu teşekkürler. Yani 101>sonuc>=50 şeklinde mi yapılır ? Tekrardan teşekkürler.
 
Alıntıyı görüntüle
Selamlar. Bu kodda vize ve final notlarını hesaplatmaya çalıştım. Notların 100'den fazla çıkması durumunda da geçersiz not diye bir yazı yazmasını istedim. Fakat 100'den büyük olduğu halde de dersten geçildiği kabul ediliyor. Nasıl bunu düzeltebilirim ? Teşekkürler. Bu arada dil Java programlama dilidir.
else if (sonuc > 100) kontrolü, if (sonuc >= 50) kontrolünden sonra geliyor bu sonuc değeri 100'den büyük olsa bile ilk koşula (50 veya daha büyük) takılarak yanlış çalışmasına neden oluyor.

Çözümü: else if (sonuc > 100) koşulunu, if bloğundan önce kontrol etmen gerekiyor.
Şu şekilde olacak:

if (sonuc > 100) {
System.out.println("GEÇERSİZ NOT. TEKRAR GİRİNİZ!");
} else if (sonuc >= 50) {
System.out.println("GEÇTİNİZ TEBRİKLER! NOTUNUZ: " + sonuc);
} else {
System.out.println("KALDINIZ! NOTUNUZ: " + sonuc);
}

1000048275.jpg
 
  • Beğen
Reaksiyonlar: ExEz
Bir çözüm daha eğer if( sonuc<= 100 && sonuc >= 50) yaparsanız ilk if'i sorununuz çözülür.
 
  • Beğen
Reaksiyonlar: ExEz
Herkese Teşekkürler. Çok yardımınız dokundu. Tekrardan teşekkürler...
 
Geri
Top