Turkcell | Geleceği Yazanlar

Soru & Cevap

degisken.nextLine() kullanımı

25.12.2013 - 00:43

Merhabalar Android 101 eğitimlerine başladım. Aklıma takılan bir nokta var. Örneklerde ısrarla degisken.nextLine() şeklinde kullanıcıdan veri alma yolu tercih edilip sonra double'a ya da int'e çevriliyor.  Niçin .nextInt() ile direk tamsayı olarak alınmıyor ?

3206 Görüntülenme

4 Cevap

ÇELİK
26.09.2020 - 21:15

nextLine prosedürü, terminalde imlecin bulunduğu satırdaki tüm karakterleri referansa bağlar ve imleci sonraki satırın başına alır; nextInt prosedürü ise imlecin bulunduğu konumdan sonra gelen ilk kelimeyi, kelime eğer tamsayı ise referansa bağlar. Dolayısı ile nextLine, enter tuşuna ait karakter kodunu görünceye kadar; nextInt, boşluk tuşuna ait karakter kodunu görünceye kadar karakter silsilesini okumaya devam eder. Her iki prosedürde de okuma, EOF`ye ulaşmışsa otomatik olarak sonlanır.

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Caner Güral
25.12.2013 - 14:57

Daha önceki örneklerde klavyeden yapılan girişleri almak için BufferedReader kullanmıştık. Dolayısıyla girişleri integer ya da double değerler olarak kullanmak için bir çevrim söz konusuydu. Şimdiyse Scanner sınıfıyla girişleri alıyoruz. Dediğiniz gibi Scanner sınıfındaki nextInt() ile doğrudan da alınabilir. Bu tamamen eski yapının üzerindeki küçük düzenlemelerimizle ilgili. Sizin de belirttiğiniz gibi amaç aynı, yol farklı.

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Canberk Ovayurt
25.12.2013 - 12:17

Random sayı üretirken kullanılıyor. Javada ayrıca klavyeden veri almada kullanılıyor. Randoma Bir örnek : 

int randInt = new Random().nextInt(2) + 1;

burada 0-2 arası bir değer üretip 1 ile topluyor.

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

demirkan
25.12.2013 - 11:36

ornege bakmadim ama mantik olarak aklima gelen. isini garantiye almak icin tekrar cevirmeye tabi tutuyor olabilir.

bekledigi değer int ise double girilse bile onu int ceviriyor. double bekliyorsa. yine int girilmisse double cevirsin vs

 

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

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