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.