Java'da Kullanıcı Girişi Nasıl Alınır [Örneklerle]

Yayınlanan: 2021-05-27

İçindekiler

Tanıtım

Java'da kullanıcı girdisi almak, Java'da başarılı yazılım oluşturmaya yönelik ilk adımdır. Java programı, fare, klavye, ağ isteği, CLI argümanları vb. gibi çeşitli girdi kaynakları aracılığıyla kullanıcıdan girdi toplar. Java ayrıca girdi-çıktı işlemlerini gerçekleştirmek için programa aktarılabilen çeşitli G/Ç paketlerine sahiptir. Bu paketler, double, integer, string vb. gibi ilkel türlerin girişini destekler.

Bu makale, Java'da kullanıcı girdisi almak için Tarayıcı, BufferedReader ve InputStreamReader gibi yöntemlere odaklanacaktır .

Tarayıcı Sınıfını Kullanarak Java'da Nasıl Girdi Alınır?

Scanner sınıfı, “java.util” paketindeki tüm ilkel tip girdileri ayrıştıran ve işleyen yöntemlerden biridir. Tarayıcı sınıfı, kullanıcıdan girişi girmesini ister ve ardından aynısını ekrana veya konsola yazdırır. Programdaki “java.util” paketinden Scanner sınıfını import edebilir ve metotlarını kullanmak için bir nesne oluşturabilirsiniz.

Örneğin,

Tarayıcı testi = yeni Tarayıcı(System.in);

Yukarıdaki açıklamada, test, bir nesnenin adıdır ve System.in, giriş akışıdır. Oluşturulan Tarayıcı örneği , Java'daki kullanıcı girişini tarar .

Not: Programınızda giriş dizesi olarak System.in yazmanız gerekmez. Bunu bir dosya ve okunacak bir dosya ile değiştirebilirsiniz, girdi akışı olarak dize.

Örneğin,

Tarayıcı testi = yeni Tarayıcı(new FileInputStream(“testFile.txt”), “UTF-8”);

Düzenlemeyi bitirdiğinizde tarayıcıyı kapatmak için {test.close()} kodunu yazdığınızdan emin olun.

Kullanıcıdan Girdileri Okumak için Tarayıcı Yöntemleri

Aşağıdaki tablo, tarayıcının kullanıcı tarafından girilen Java girdisini okumak için kullandığı yöntemleri listeler .

Yöntem İade Türü Tanım
Sonraki() Sicim Tarayıcıdan bir sonraki jetonu döndürür
sonrakiByte() Bayt Sonraki girişi bayt olarak okur.
sonrakiFloat() Batmadan yüzmek Sonraki girişi bir kayan nokta olarak okur.
sonrakiInt() tamsayı Sonraki girişi tamsayı olarak okur.
sonrakiKısa() Kısa Bir sonraki girişi kısa olarak okuyun.
sonrakiUzun() Uzun Bir sonraki girişi uzun olarak okuyun.
sonrakiBoolean() Boole Sonraki girişi Boole olarak okur ve değeri döndürür.
Sonraki satır() Sicim Tarayıcıyı bir satır ilerletir ve atlanan girişi döndürür.

Örnek vermek

Aşağıdaki Java programı, Java'da (string, tamsayı ve afloat) kullanıcı girdisi almak için Scanner sınıfını kullanır.

java.util.Scanner'ı içe aktarın;

sınıf TakeUserInput

{

public static void main(String args[])

{

int a;

yüzer b;

dize c;

Tarayıcı testi = yeni Tarayıcı(System.in);

//Kullanıcı girdisini String olarak al

System.out.println(“Bir dizi yazın: “);

c = in.nextLine();

System.out.println(“Kullanıcı Girdi Dizesi: “+c);

//Kullanıcı girdisini Tamsayı olarak al

System.out.println(“Bir tamsayı yazın: “);

a = in.nextInt();

System.out.println(“Kullanıcı Girdi Tam Sayısı: “+a);

//Kullanıcı girdisini kayan nokta olarak al

System.out.println(“Bir kayan nokta giriniz: “);

b = in.nextFloat();

System.out.println(“Kullanıcı Girdi Float numarası: “+b);

}}

Çıktı

Bir dize yazın:

Andrew

Kullanıcı Giriş Dizesi: Andrew

Bir tamsayı yazın:

03

Kullanıcı Girişi Tam Sayısı: 03

Bir kayan nokta numarası yazın:

61.46

Kullanıcı Girişi Float numarası: 61.46

Tarayıcı sınıfını kullanarak Java'da girdi alma hakkında daha fazla bilgi edinmek istiyorsanız , Tarayıcı blogunu kullanarak Java'da Çoklu Dize Girişi'ne bakın .

BufferedReader ve InputStreamReader Yöntemleri

BufferedReader, Java'da karakter tabanlı bir giriş akışından karakter akışını tarayan başka bir sınıftır. InputStreamReader, Java'da giriş akışını BufferedReader'ın taraması için bir dizi karaktere dönüştüren bir işlevdir. BufferedReader sınıfı, InputStream'i parametre olarak kabul eder.

BufferedReader sınıfı, karakterleri ve sonraki satırı okumak için read() ve readLine() yöntemlerini kullanır ve bunları döndürür.

BufferedReader sınıfı oluşturmak için java.io.BufferedReader paketini içe aktarmalısınız.

// Bir Dosya Okuyucusu oluşturur

FileReader testi = new FileReader(String dosyası);

// Bir BufferedReader oluşturur

BufferedReader a = new BufferedReader(test);

Dünyanın en iyi Üniversitelerinden çevrimiçi olarak Yazılım Mühendisliği dereceleri alın . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Kullanıcıdan Girdileri Okumak için BufferedReader Yöntemleri

Aşağıdaki tablo, arabelleğe alınmış okuyucunun , kullanıcı tarafından girilen Java'daki girişi okumak için kullandığı yöntemleri listeler .

Yöntem Tanım
hazır() Dosya okuyucunun okuma durumunda olup olmadığını doğrular.
işaret() Verilerin okunduğu arabelleğe alınmış okuyucudaki konumu işaretler.
Sıfırla() Kontrolü, işaretin ayarlandığı noktaya döndürür.

Örnek vermek

Aşağıdaki Java programı, Java'da kullanıcı girdisini almak için bir InputStreamReader sınıfının yanında bir BufferedReader sınıfını kullanır .

java.io.BufferedReader'ı içe aktarın;

java.io.FileReader'ı içe aktarın;

java.io.IOException'ı içe aktarın;

genel sınıf testi {

public static void main(String[] args) {

BufferedReader arabelleği = boş;

denemek {

String scanFirstLine;

tampon = new BufferedReader(new FileReader(“D:\\user_input.txt”));

while ((scanFirstLine = buffer.readLine()) != null) {

System.out.println(scanFirstLine);

}

} yakalama (IOException a) {

a.printStackTrace();

} nihayet {

denemek {

if (tampon != boş)

tampon.close();

} yakalama (IOException b) {

b.printStackTrace();

} } } }

Çıktı

Dosyada aşağıdaki veriler bulunur:

Bu, BufferedReader'ın dosyadan okuduğu örnek bir ifadedir.

Yukarıdaki örnekte, arabellek adında bir arabelleğe alınmış okuyucu oluşturduk. Arabelleğe alınan okuyucu, “user_input.txt” dosyasıyla bağlantılıdır.

Ardından, arabelleğe alınmış okuyucunun arabelleğindeki karakterleri taramak için readLine() yöntemini kullandık.

Çözüm

Bu yazıda, Java'da kullanıcı girdisi almak için kullanılan yöntemleri ele aldık . Scanner ve BufferedReader yöntemlerini örneklerle birlikte ele aldık. Ayrıca Scanner ve BufferedReader sınıfının Java'da girdi almak için kullandığı yöntemleri de tartıştık . Java'da girdilerin nasıl ele alınacağı konusunda temel bir anlayışa sahip olduğunuzu umuyoruz . Daha fazla Java programlama dili öğrenmek istiyorsanız, çalışan profesyoneller için tasarlanmış Full Stack Development kursunda upGrad'ın Executive PG Programını inceleyin.

Yazılım Geliştirme Kariyerinizi Şimdi Planlayın.

UpGrad'ın Yazılım Mühendisliğinde İş Bağlantılı PG Sertifikasyonu için başvurun