Tarayıcı Kullanarak Java'da Çoklu String Girişi [Kodlama Örneği ile]

Yayınlanan: 2021-02-05

İçindekiler

Tanıtım

Java.util paketinde tarayıcı, double, integer, string vb. gibi ilkel türlerin birden çok girdisini toplamaya yardımcı olan sınıflardan biridir. Zamanın etkili olduğu bir Java programında girdileri okumak için verimli bir yol olmasa da bir kısıtlama olarak, şüphesiz kullanıcıdan birden fazla girdi toplamanın en kolay yollarından biridir. Bu blogda, tarayıcı sınıfını kullanarak bir Java programında kullanıcıdan çoklu dize girdisini nasıl toplayacağınızı öğreneceksiniz.

Tarayıcı Kullanarak Birden Fazla Giriş Alma Yöntemleri

Scanner sınıfını kullanmadan önce java.util paketini bir programa aktarmalısınız. Aşağıdaki tablo, bir Java programında kullanıcıdan farklı türlerde birden çok girdi almak için kullanılan yöntemleri listeler.

Yöntem girişler
sonrakiInt() tamsayı
sonrakiFloat() Batmadan yüzmek
sonrakiÇift() Çift
sonrakiUzun() Uzun
sonrakiKısa() Kısa
sonraki() Tek kelime
Sonraki satır() Dizeler Hattı
sonrakiBoolean() Boole

Java nextLine() Yöntemini Kullanma

Java.util.Scanner.nextLine() yöntemi, tarayıcıyı geçerli satırı geçerek ilerleterek atlanan satırı döndürür. Geçerli satırın sonunda bir satır ayırıcı verilirse, bu yöntem onu ​​hariç tutar ve dizenin kalanını geçerli satırdan döndürür. Tarayıcı bir sonraki satıra ayarlanır ve kelimelerin boşlukları da dahil olmak üzere tüm dizeyi okur.

nextLine() yönteminin sözdizimi aşağıdaki gibidir:

Public String nextLine()

Bu yöntem aşağıdaki iki istisnayı atar:

  • NoSuchElementException – Dize boşsa veya satır bulunamazsa.
  • IllegalStateException – Tarayıcı kapalıysa.

Örnek vermek

Aşağıdaki örnek, java.util.Scanner.nextLine() yönteminin kullanıcıdan birden çok girdiyi nasıl topladığını gösterir.

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

genel sınıf SacnnerDemoMultipleString

{

public static void main(String[] args)

{

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

System.out.print(“Lütfen yazdırmak istediğiniz birden fazla girdi giriniz: “);

// bir tamsayı girdisi alır

String[] string = new String [demo.nextInt()];

// yukarıdaki girdiden <enter> öğesini tüketiyor

demo.nextLine();

for (int i = 0; i < string.length; i++)

{

string[i] = demo.nextLine();

}

System.out.println(“\nAşağıdaki girişi girdiniz: “);

// dizeyi yazdırmak için her döngü için

for(Dize dizisi: dize)

{

System.out.println(str);

// tarayıcıyı kapat

tarayıcı.close();

}

}

}

Yukarıdaki program aşağıdaki çıktıyı yazdıracaktır

Lütfen yazdırmak istediğiniz birden fazla giriş girin: 7

Mişa

Harry

Robert

harvey

Jill

Rachel

Jennifer

Aşağıdaki girişi girdiniz:

Mişa

Harry

Robert

harvey

Jill

Rachel

Jennifer

Java nextInt() Yöntemini Kullanma

Java.util.Scanner.nextInt() yöntemi, kullanıcı tarafından sağlanan girişi bir tamsayı olarak tarar. Bir tamsayı bulunursa, tarayıcı eşleşen girişi geçer.

nextInt() yönteminin sözdizimi aşağıdaki gibidir:

Public int nextInt()

Bu yöntem aşağıdaki üç istisnayı atar:

  • InputMismatchException – Sonraki belirteç tamsayı normal ifadesiyle eşleşmiyorsa veya sonraki belirteç aralık dışındaysa.
  • NoSuchElementException – Giriş tükendiyse.
  • IllegalStateException – Tarayıcı kapalıysa.

Örnek vermek

Aşağıdaki örnek, java.util.Scanner.nextInt() yönteminin kullanıcıdan birden çok girdiyi nasıl topladığını gösterir.

// Tarayıcı kullanarak tamsayı taramak için Java programı

// sınıflandırın ve ortalamalarını yazdırın.

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

public class ScannerDemoInteger

{

public static void main(String[] args)

{

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

// Girdi öğelerinin toplamını ve sayısını başlat

int toplam = 0, sayı = 0;

// Bir tamsayı değeri olup olmadığını kontrol edin

while (demo.hasNextInt())

{

// Bir tamsayı değeri tarayın

int sayı = demo.nextInt();

toplam += sayı;

say++;

}

int ortalama = toplam / sayı;

System.out.println(“Ortalama: ” + ortalama);

}

}

Yukarıdaki program aşağıdaki girdi ile beslenir:

101

223

238

892

99

500

728

Yukarıdaki program aşağıdaki çıktıyı yazdıracaktır:

Ortalama: 397

Ayrıca Okuyun: Java MVC Projesi

Java nextDouble() Yöntemini Kullanma

Java.util.Scanner.nextDouble() yöntemi, kullanıcı tarafından sağlanan girdiyi çift olarak tarar. Bir kayan noktalı normal ifade bulunursa, tarayıcı eşleşen girişi geçerek ilerler.

nextInt() yönteminin sözdizimi aşağıdaki gibidir:

public double nextDouble()

Bu yöntem aşağıdaki üç istisnayı atar:

  • InputMismatchException – Sonraki belirteç, kayan nokta normal ifadesiyle eşleşmiyorsa veya sonraki belirteç aralık dışındaysa.
  • NoSuchElementException – Giriş tükendiyse.
  • IllegalStateException – Tarayıcı kapalıysa.

Örnek vermek

Örnek, java.util.Scanner.nextDouble() yönteminin kullanıcıdan birden çok girdiyi nasıl topladığını gösterir.

// Tarayıcı kullanarak kayan noktayı taramak için Java programı

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

genel sınıf ScannerDoubleRegularExpression {

public static void main(String[] args) {

String new = “Günaydın! 3 + 3.0 = 6 doğru”;

// belirtilen String Object ile yeni bir tarayıcı nesnesi yaz

Tarayıcı demosu = yeni Tarayıcı(lar);

// dizedeki çiftleri tanımlayabilmek için ABD yerel ayarını kullanın

demo.useLocale(Locale.US);

// sonraki çift jetonu arayın ve yazdırın

while (demo.hasNext()) {

// sonraki bir çift ise, çıktı bulundu ve kayan normal ifade

if (demo.hasNextDouble()) {

System.out.println(“Bulunan :” + demo.nextDouble());

}

// bir çift normal ifade bulunamazsa, "Bulunamadı" ve belirteci yazdırın

System.out.println(“Bulunamadı :” + demo.next());

}

// tarayıcıyı kapat

tarayıcı.close();

}

}

Yukarıdaki program aşağıdaki çıktıyla sonuçlanacaktır:

Bulunamadı: İyi

Bulunamadı: Sabah!

Bulunan: 3.0

Bulunamadı: +

Bulunan: 3.0

Bulunamadı: =

Bulunan: 6.0

Bulunamadı: doğru

Dünyanın En İyi Üniversitelerinden Online Yazılım Geliştirme Kursları öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Çözüm

Örneğin, bu blogda verilen kodlar amaçtır ve kişinin ihtiyaçlarına göre değiştirilebilir. Java ve tam yığın yazılım geliştirme hakkında daha fazla bilgi edinmek istiyorsanız, upGrad & IIIT-B'nin çalışan profesyoneller için tasarlanmış ve 500+ saatlik zorlu eğitim, 9+ projeler ve ödevler, IIIT-B Mezunları statüsü, pratik uygulamalı bitirme projeleri ve en iyi firmalarla iş yardımı.

Java'da Tarayıcı sınıfı nedir?

Tarayıcı sınıfı, Java'nın konsol girişini kullanmadan klavyeden değerleri okumanıza olanak tanır. Java'nın konsol girişi yavaş ve yeniden yönlendirmesi de öyle. Tarayıcı daha hızlı ve daha kullanışlıdır, bu nedenle Java'nın konsol girişi yerine Tarayıcı kullanılmalıdır. Tarayıcı, Java'nın normal giriş akışını kullanır, böylece diğer ayrıştırıcılarla zincirlenebilir. Tarayıcı ayrıca Java'nın konsol girişinden daha kolaydır. Tarayıcının BufferedReader, InputStreamReader ve FileReader olmak üzere üç ana alt sınıfı vardır. En genel olanı BufferedReader'dır. BufferedReader, InputStreamReader tarafından okunabilen her şeyi okuyabilir ve büyük bir avantajı vardır: tampon. Tampon bir seferde bir satır tutabilir. Bir girdi akışının hiç arabelleği yoktur: next() öğesini çağırdığınızda değeri döndürür. Bu, onlarla herhangi bir şey yapmadan önce değerleri toplamanız gerektiği anlamına gelir. Tarayıcı sizin için yapar.

Java'da bir dize oluşturucu nedir?

Bir dize oluşturucu, bir dize oluşturmak için yeni bir sınıf türüdür. Dize oluşturucu sınıfı, Java'da 1.3 sürümünden itibaren tanıtıldı. Birkaç dizeyi birleştirerek bir dize oluşturmanıza olanak tanır ve siz ona daha fazla dize ekledikçe kendisini otomatik olarak yeniden boyutlandırır. Dize bitiştirmeyle karşılaştırıldığında, dize oluşturucuyu kullanmak daha hızlı ve esnektir, ancak daha az okunabilirdir. StringBuilder nesneleri, String değerleri oluşturmak için kullanılan nesnelerdir. StringBuilder nesnelerinin birkaç yöntemi vardır.

Java'da InputStreamReader nedir?

InputStreamReader, bir giriş akışından bir karakter akışını okur ve bunların kodunu belirli bir karakter kodlamasında çözer. Karakter akışlarını bir kodlamadan diğerine dönüştürmenin kolay bir yolunu sağlar. InputStreamReader, temel alınan akıştan baytları okur ve belirtilen karakter kümesi kodlamasını kullanarak bunları karakterlere dönüştürür. Bayt akışı verilerini karakter akışı verilerine dönüştürmek için kullanılan bir sınıftır. Bayt akışı ikili verileri temsil eder ve karakter akışı metni temsil eder.