Merhabalar, bir kod parçasında scanner sınıfını kullanıyorum. Ekrandan bir değer alıp scanner nesnesi ile bir stringi depoladım. Hemen ardından aynı şekilde bir başka ekrandan girdi ile aldığım bilgiyi bir başka stringe scanner nesnesi ile depolamam mümkün mü?

System.out.println("Adı Soyadı: ");

String adsoyad = scan.next();

System.out.println("Telefon numarası:");

String tel = scan.next();

Mümkün değil ise yeni bir Scanner nesnesi mi yaratmalıyım? Tekrardan aynı nesneyi kullanamaz mıyım? Kullanamamımın sebebi olarak scanner burada nasıl bir iş yapıyor, bu konuda biraz da küçük değerli bilgicikler verebilir misiniz?

soruldu: 12 Mar '13, 15:15

igundu91's gravatar image

igundu91
214242933
cevap kabul oranı: 20%

değiştirildi: 12 Mar '13, 15:38

AliR%C4%B1za%20Ad%C4%B1yah%C5%9Fi's gravatar image

AliRıza Adıyahşi ♦
7.9k146288


Buradaki problem, next ve nextInt gibi metotlardan sonra nextLine metodunu kullanman. Kisaca söyle aciklayabilirim:

int i = scan.nextInt();

Burada bir sayi bekleniyor. Bu metot sadece sayiyi okuyor. Sonrasindaki \n (yeni satir karakteri) bir sonraki nextLine'a kaliyor.

String adsoyad = scan.nextLine();

Bir öncekinden kalan \n (yeni satir karakteri) burada okunuyor. Satir sonlandigi icin icerik bos oluyor.

Buradaki problemden kurtulman icin iki yol tavsiye edebilirim :

1- next veya nextInt metotlarindan sonra ekstra bir nextLine metodu daha yazmak. Örnegin;

int i = scan.nextInt(); scan.nextLine(); String adsoyad = scan.nextLine();

2- Her yerde nextLine kullanip, gerekli tip dönüstürme islemlerini kullanmak. Örnegin;

String s = scan.nextLine(); int i = Integer.parseInt(s);
permanent link

cevaplandı: 14 Mar '13, 19:01

undefined's gravatar image

undefined
51126
cevap kabul oranı: 0%

değiştirildi: 16 Mar '13, 04:40

evet bunu bir deneyeceğim, ilgin için teşekkür ederim. Sonra tekrar son durumu yazacağım.

(15 Mar '13, 05:36) igundu91 igundu91's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,079

Soruldu: 12 Mar '13, 15:15

Görüntüleme: 770 kez

Son güncelleme: 16 Mar '13, 04:40

powered by BitNami OSQA