Şimdi Ara

Java, bir hata.

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
11
Cevap
0
Favori
849
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba, bir hesap makinesi uygulaması yazmaya çalıştım fakat anlamadığım bir şekilde sürekli hata alıyorum, upload ettim classı, lütfen incelerseniz sevinirim.


    https://www.upload.ee/files/7431557/Homework38.java.html



  • Kullanıcıdan sayi girişi sorduğun while döngü kurgusu hatalı. Orada Scanner sınıfı metodları o şekilde hata verir. Şunun gibi bir kurgu gerekli:



    public static int MenuDegerAl()



    {

    MenuGoster();

    Scanner in = new Scanner(System.in);

    int sayi = 0;



    while (in.hasNext()) {



    if (in.hasNextInt()) {

    sayi = in.nextInt();

    if (sayi >0 || sayi < 8)

    { in.close();

    return sayi;

    }



    Dikkat bunu öylesine yazdım, kontrol etmedim. ayrıca orada MenuGoster() metodu ve Int sayi gibi bazı şeyler tekrar edilmiş onlar teke indirilebilir.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • PM göndermişsin fakat cvp yazamadım, sebebi ise DH forum bana PM atmayı YASAKLAMIŞ durumda. Neyse. Senin kodda kullanıcı giriş kısmında hata verio gibi. Nitekim benim örnek verdiğim koddaki gibi denersen hata gider. While döngüsünü öylesine yazdım yani benim while de cok iyi değil örneğin ||, && olmalı şimdi fark ettim. Fakat sonuçta senin koddaki kullanıcı giriş kısmı hata verio

    < Bu ileti mini sürüm kullanılarak atıldı >
  • Ne hatası alıyorsun ?
  • Hata şu:

    Exception in thread "main" java.util.NoSuchElementException

    at java.util.Scanner.throwFor(Scanner.java:862)

    at java.util.Scanner.next(Scanner.java:1485)

    at java.util.Scanner.nextInt(Scanner.java:2117)

    at java.util.Scanner.nextInt(Scanner.java:2076)

    at Homework38.TamSayiAl(Homework38.java:103)

    at Homework38.main(Homework38.java:17)



    yani Scanner da ÖyleBirElemanYokHatası : )

    < Bu ileti mini sürüm kullanılarak atıldı >
  • Programın içinden in.close(); bu kodeları silersen düzelecektir.
  • quote:

    Orijinalden alıntı: aimar7

    Programın içinden in.close(); bu kodeları silersen düzelecektir.

    Sildim, hakkaten düzeldi. SS'te in.close() 'lar silinmiş hali görülüyor. Fakat merak ettim, in.close()'lar neden öyle hataya yol açtı Yanlış yerde bulunduğu için mi?



     Java, bir hata.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • Çok emin olmamakla birlikte System.in bir kere kapatılınca aynı programda açılmıyor komple kapatıyor kendini. Uzun zamandır Eclips ile uğraşmıyordum Android studio kullanıyorum sırf bu kafama takıldı diye eclips indirip kurdum :) Bir kaç makalede okudum net bişey söyleyen yok ama deneme yanılma ile bulunur. Aralara if ler koyup açıksa kapat diyerek loglar ile sorunun köküne inilir. Net bilimsel olarak şuan ne desem yalan olur.
  • Yo bu açıklama yeterli. Cunku sorun dediğin gibi bir programda System.in kapatılınca sonradan açılmasıyla ilgili. System.in close exception kelimeleriyle bir Google yaptımhttps://stackoverflow.com/questions/23983190/scanner-nextline-throws-an-exception-if-i-close-the-first-scanner-and-create 'da System.in 'i try-finally bloğu içinde kapamak gerekli diyor.

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

    Orijinalden alıntı: aimar7

    Çok emin olmamakla birlikte System.in bir kere kapatılınca aynı programda açılmıyor komple kapatıyor kendini. Uzun zamandır Eclips ile uğraşmıyordum Android studio kullanıyorum sırf bu kafama takıldı diye eclips indirip kurdum :) Bir kaç makalede okudum net bişey söyleyen yok ama deneme yanılma ile bulunur. Aralara if ler koyup açıksa kapat diyerek loglar ile sorunun köküne inilir. Net bilimsel olarak şuan ne desem yalan olur.

    Gerçektende problem ortadan kalktı, in.close();'dan kaynaklandığını hiç düşünmemiştim, sürekli algoritmayı kontrol ediyordum, teşekkür ederim! :)
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.