Java Derslerine kaldığımız yerden devam ediyoruz. Bugün klavyeden girdi almayı göreceğiz. Yani kullanıcıdan veri alıp programda işlemeyi öğreneceğiz. Java dili bunu Scanner Sınıfı ile yapmamızı sağlıyor Bu sınıf dilediğimiz tipte girdi alabilir bunu da next() metotları mümkün kılar. Hadi şimdi nasıl kullanıldığına bakalım.
İçindekiler
Scanner Sınıfı Nasıl Kullanılır?
Öncelikle Scanner’dan bir nesne oluşturmak gerekir. Nesne oluşturmayı henüz tam olarak görmedik fakat basitçe açıklamak gerekirse. Bir sınıfı soyut olarak düşünürsek nesne o sınıfı somutlaştıran kısımdır. Hemen aşağıdaki adımlarla bir Scanner nesnesi oluşturabiliriz.
- Öncelikle Scanner yazıyoruz ve imleç en üstündeyken ctrl + space tuşlarına basıyoruz ve Scanner (java.util) seçiyoruz. Bu sayede Scanner kütüphanesini sınıfımıza eklemiş oluyoruz.
- En tepede import java.util.Scanner; ibaresini gördüysek doğru yoldayızdır.
- Daha sonra Scanner sc = new Scanner(System.in); yazarak bir nesne oluşturuyoruz. Bu nesnemiz Scanner sınıfından sc isminde.
- Şimdi bu nesneyi kullanarak veri almayı görelim. int sayi = sc.nextInt(); Bu şekilde basitçe sayı girdisi alabiliriz.
- Şimdi aşağıdaki örnekte konuyu daha net görelim.
Scanner Örneği
Scanner Sınıfı Metotları
Metot Adı | Açıklaması |
close() | Açık Scanner nesnesini kapatır. |
findInLine(String pattern) | Parametre verilen String’i sonlandırıcıya bakmaksızın arar. |
findWithHorizon(Pattern pattern, int horizon) | Parametre verilen Pattern’i arar. |
hasNext() | Giriş akımında sonraki varsa true verir. |
hasNextInt() | Giriş akımında sonraki int varsa true verir. |
hasNextLine() | Giriş akımında sonraki satır varsa true verir. |
hasNextFloat() | Giriş akımında sonraki float varsa true verir. |
next() | Sonraki parçanın hepsini okur. |
nextBoolean() | Giriş akımında sonraki boolean’i okur. |
nextDouble() | Giriş akımında sonraki double’i okur. |
nextFloat() | Giriş akımında sonraki float’ı okur. |
nextLong() | Giriş akımında sonraki long’u okur. |
nextInt() | Giriş akımında sonraki int’i okur. |
nextShort() | Giriş akımında sonraki short’u okur. |
nextByte() | Giriş akımında sonraki byte’i okur. |
nextLine() | Mevcut satırı okur ve sonrakine geçer. |
radix() | Scanner etkin tabanını söyler. |
reset() | Scanner’i yeniden başlatır. |
skip(Pattern pattern) | Belirtilen nakışı atlar. |
toString() | Scanner nesnesinin String temsilini verir. |
useLocale(Locale locale) | Scanner nesnesini belirtilen yöresele uydurur. |
Scanner Hesap Makinesi Örneği
Yukarıdaki örneğimizde daha önceki derslerde öğrendiğimiz metotları, switch-case yapısını da tekrar etmiş olacağız. islemYap metodumuz 3 parametre alıyor birisi yapılacak işlemin türü diğerleri sayılar. Bu sayede gelen sayılarla işlem yapıp geriye return ile döndürüyoruz. Dönen değeri de ekranda yazdırıyoruz bu kadar basit. Bugünkü Java Dersimizde Scanner sınıfından bahsettik umarım faydalı olmuştur görüşmek üzere.