Soru & Cevap

degisken.nextLine() kullanımı

25.12.2013 - 12: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 ?

10 Görüntülenme

4 Cevap

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

picture-305923-1601953396.png
muharrir
26.09.2020 - 09: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.
picture-3606-1408610132.jpg
cgural
25.12.2013 - 02: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ı.

Profile picture for user canberk.ovayurt
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.

Profile picture for user demirqan
demirqan
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