İçindekiler:
- Java'da Tarayıcı sınıfının içe aktarılması
- Java'da bir Tarayıcı nesnesi bildirme ve oluşturma
- Giriş alma
Video: 003 Türkçe Java Dersleri : Scanner Sinifi - Kullanıcıdan bilgi alma metodları. 2024
Java 1. 5'e kadar, konsol tabanlı bir Java programında kullanıcıdan metin girişi yapmak kolay değildi. Ancak, Java 1. 5'te kullanıcıdan bilgi alma görevini basitleştirmek için
Tarayıcı
adlı yeni bir sınıf başlatıldı. Burada, kullanıcıdan basit giriş değerleri elde etmek için
Tarayıcı
sınıfını kullanırsınız. Burada sunduğum teknikler, bu kitabın geri kalanında gösterilen programların çoğunda kullanılır.
Daha eski bir Java sürümünü kullanıyorsanız, pek çok program
Tarayıcı
sınıfını kullandığından bunu yine de okumanız gerekir.
Aşağıdaki basit program, kullanıcıdan bir tam sayı değeri okumak için
Tarayıcı
sınıfını kullanır ve daha sonra, programın kullanıcı tarafından girilen değerin program tarafından alındığını doğrulamak için konsola geri görüntüler. İşte bu programın konsol penceresinin bir örneği:
Bir tamsayı giriniz: 5
Siz girdiniz 5.
Program, ilk satırda
Bir tamsayı girin:
mesajını görüntüleyerek başlıyor. Ardından bir numara girmenizi bekler. Bir sayı yazarsanız (örneğin 5) ve Enter tuşuna basın, ikinci satırdaki onay mesajını görüntüler (
5 girdiniz.
.).
import java. util. Tarayıcı; @@ Ra1
genel sınıf ScannerApp
{
static Tarayıcı sc = yeni Tarayıcı (Sistem.); @@ ra6
public static void main (String [] args)
{
Sistem. dışarı. print ("Bir tam sayı girin:"); @@ ra10
int x = sc. nextInt (); @@ Ra11
Sistem. dışarı. println ("Girmişsiniz" + x + "."); @@ ra12
}
}
Java'da Tarayıcı sınıfının içe aktarılması
Bir programda
Tarayıcı
sınıfını kullanmadan önce onu içe aktarmanız gerekir. Bunu yapmak için, sınıf bildiriminden önce programın başına bir
içe aktarma
ifadesi oluşturursunuz:
import java. util. Tarayıcı;
ve
util
öğelerinin büyük harfle değil,
Tarayıcı
olduğunu unutmayın.
java sınıflarında başka sınıflar kullanıyorsanız. util
paketini kullanarak,
import
deyimini şöyle kodlayarak tüm paketi içe aktarabilirsiniz:
import java. util. *;
Java'da bir Tarayıcı nesnesi bildirme ve oluşturma
Konsoldan girişi okumak için
Tarayıcı
sınıfını kullanmadan önce bir
Tarayıcı
değişkeni beyan etmeli ve bir örnek oluşturmalısınız
Tarayıcı
sınıfının.
Tarayıcı
değişkenini bir sınıf değişkeni olarak oluşturmak ve yukarıdaki programın 6. satırında gösterildiği gibi sınıf değişkenini başlatıcıda
Tarayıcı
nesnesi oluşturabilirsiniz:
static Scanner sc = yeni Tarayıcı (Sistem girişi);
Bu şekilde, sınıfın herhangi bir yönteminde
sc
değişkenini kullanabilirsiniz.
Tarayıcı
nesnesi oluşturmak için,
yeni
anahtar kelimesini ve ardından
Tarayıcı
sınıfı yapıcısına bir çağrı kullanırsınız.
Tarayıcı
sınıfının, girdinin geldiği giriş akışını gösteren bir parametre gerektirdiğini unutmayın.
Sistemi kullanabilirsiniz. standart klavye konsolu girişi belirtmek için
burada.
Giriş alma
Kullanıcıdan bir giriş değeri okumak için, aşağıda listelenen
Tarayıcı
sınıfının yöntemlerinden birini kullanabilirsiniz. Gördüğünüz gibi, ilkel veri türü ayrı bir yöntem içeriyor.
Yöntem | Açıklama |
boolean nextBoolean ()
|
Kullanıcıdan bir
boolean
değeri okur. |
byte nextByte ()
|
Kullanıcıdan
bayt
değerini okur. |
double nextDouble ()
|
Kullanıcıdan bir
double
değeri okur. |
float nextFloat ()
|
Kullanıcıdan
float
değerini okur. |
int nextInt ()
|
Kullanıcıdan
int
değerini okur. |
Dize nextLine ()
|
Kullanıcıdan
String
değerini okur. |
long nextLong ()
|
Kullanıcıdan
uzun
değerini okur. |
short nextShort ()
|
Kullanıcıdan
kısa
değerini okur. |
Tablonun ilk sütununda, her yöntem listelemenin yöntem tarafından döndürülen değer türüne başlandığına dikkat edin. Örneğin
nextInt
yöntemi,
int
değerini döndürür. Ayrıca, yöntemlerin her birinin boş bir ayraç grubu ile bittiğini unutmayın. Bu, bu yöntemlerin parametre gerektirmediği anlamına gelir. Bir yöntem parametreler gerektiriyorsa, parametreler bu parantez içinde listelenir.
Bu yöntemler kullanıcıdan bir değer okuduğundan ve değeri döndürdüğünden, çoğu zaman değerleri bir değişkene atayan ifadelerde kullanırsınız. Örneğin satır 11 bir
int
okur ve onu
x
adlı bir değişkene atar.
nextInt
yöntemi yürütüldüğünde, programın kullanıcıdan konsol penceresine bir değer girmesini bekler. Kullanıcıya, programın hangi tür giriş bilgilerini beklediğini bildirmek için genellikle
Sistemi çağırmalısınız. dışarı.
Tarayıcı
yöntemini çağırmadan önce
yöntemini yazdırın. Satır 10
Sistemi çağırıyor. dışarı. konsolda
Bir tamsayı girin:
mesajını görüntülemek için
yazdırabilirsiniz. Bu şekilde, kullanıcı programın girişi beklediğini bilir.
Kullanıcı doğru türe dönüştürülemeyen bir değer girerse program ani bir şekilde sonlandırıldığı için çöker. Program çökerken, başarısızlığa neden olanı gösteren şifreli bir hata iletisi görüntüler. Örneğin, gerçek sayı yerine
üç
girerseniz, konsol penceresi şu şekilde görünür:
Bir tam sayı girin: üç İş parçacığı "main" java'de istisna. util. Java'da InputMismatchException
. util. Tarayıcı. java'da atış (Tarayıcı java: 819)
. util. Tarayıcı. next (Tarayıcı java: 1431)
at java. util. Tarayıcı. nextInt (Tarayıcı java: 2040)
at java. util. Tarayıcı. nextInt (Tarayıcı java: 2000)
'da ScannerApp uygulamasında.main (ScannerApp. java: 11)
Bu mesaj, InputMismatchException
adlı bir
istisna
oluştuğunu, bunun anlamı da programın bir tamsayı görmek istediğini, bunun yerine başka bir şey olduğunu gösteriyor. Bunun gibi istisnaları nasıl sağlayacağınızı bilmiyorsanız, programın daha dostça bir ileti görüntüleyip kullanıcıya doğru bir değere girme şansını vermesi için kullanıcı yanlış verileri girdiyse, programınız kaba bir şekilde çöküyor.
nextInt
Geçerli Giriş Değerlerini Kontrol Eden Tarayıcı Sınıfı Yöntemleri | Yöntem |
Açıklama
|
boolean hasNextBoolean ()
Kullanıcı tarafından girilen bir sonraki değer geçerli ise
true
boole
değer. |
boolean hasNextByte ()
|
Kullanıcı tarafından girilen bir sonraki değer geçerli bir
bayt
değeriyse,
true
değerini döndürür. |
boolean hasNextDouble ()
|
Kullanıcı tarafından girilen bir sonraki değer geçerli bir
double
değeriyse,
true
değerini döndürür. |
boolean hasNextFloat ()
|
Kullanıcı tarafından girilen bir sonraki değer geçerli bir
float
değeriyse,
true
değerini döndürür. |
boolean hasNextInt ()
|
Kullanıcı tarafından girilen bir sonraki değer geçerli bir
int
değeriyse,
true
değerini döndürür. |
boolean hasNextLong ()
|
Kullanıcı tarafından girilen bir sonraki değer geçerli bir
uzun
değeriyse,
true
değerini döndürür. |
boolean hasNextShort ()
|
Kullanıcı tarafından girilen bir sonraki değer geçerli bir
kısa
değeriyse,
true
değerini döndürür. |