Strategyturk Forumları
Java InputMismatchException Hatası - Baskı Önizleme

+- Strategyturk Forumları (https://forum.strategyturk.com)
+-- Forum: Genel Forumlar (https://forum.strategyturk.com/forum-genel-forumlar)
+--- Forum: Teknoloji Forum (https://forum.strategyturk.com/forum-teknoloji-forum)
+---- Forum: Teknik Yardım (https://forum.strategyturk.com/forum-teknik-yardim)
+---- Konu Başlığı: Java InputMismatchException Hatası (/konu-java-inputmismatchexception-hatasi)



Java InputMismatchException Hatası - Yasin Ahmet - 10-10-2020

unknown.png?width=936&height=460
"double" kodu 3.92 sayısını veya 0.05 gibi bir sayıyı kabul etmiyor. Ne yapmam gerekiyor?


Java InputMismatchException Hatası - Ayro - 10-10-2020

İlk başta 100000 yazıp entere bastığında sadece 100000 sayısını değil enter (\n) karakterini de gönderiyorsun. Double okuyan scanner da doğal olarak sadece 100000 sayısını okuyor ve \n karakteri boşta kalıyor. Daha sonra gelen scanner okumaya başladığında karşısına gelen ilk bit önceki okumadan kalan \n karakteri oluyor ve "Bu doube değil." diyerek hata veriyor.

Her okumanın ardından Scan.next() yazarsan boşta kalan \n karakterini okuma bölümünden kaldırabilirsin. Ayrıca değişkenleri isimlendirirken büyük harfle başlamamanı öneririm.

M = Scan.nextDouble();
Scan.next();
R = Scan.nextDouble();
Scan.next();
.
.
.


Java InputMismatchException Hatası - Yasin Ahmet - 10-10-2020

@Ayro, teşekkürler kod çalıştı ama bir sorun daha çıktı scan.next kodunu kullanmam ile.
unknown.png?width=941&height=460
3 kere sorması gerekirken 5 kere soruyor. Sanırım scan.nextleri de sayıyor. Buna ne yapmalıyım?


Java InputMismatchException Hatası - Ayro - 10-10-2020

Kusura bakma next değil nextLine kullanman lazım. nextLine() okuma yaparken \n karakterine kadar okur ve \n karakterini de içine alır. Bu sayede okuma yeri \n karakterinden temizlenmiş olur.


Java InputMismatchException Hatası - Yasin Ahmet - 10-10-2020

@Ayro, ilk sorunum yeniden başladı.
unknown.png?width=947&height=460

unknown.png?width=941&height=460
Kullandığım programdan sanırım sorun virgül kullandım düzgün çıktı. Teşekkürler yardım için @Ayro.


Java InputMismatchException Hatası - Elefsar - 10-10-2020

Türkçe karakterlerde ondalıktan sonrası virgül ile ayrılırken, yabancı karakterlerde nokta ile ayrılır. Program bir şekilde girileri Türkçe okuyor olabilir.