Introducerea mai multor șiruri în Java utilizând scanerul [cu exemplu de codare]

Publicat: 2021-02-05

Cuprins

Introducere

În pachetul java.util, scanerul este una dintre clasele care ajută la colectarea mai multor intrări de tipuri primitive, cum ar fi dublu, întreg, șiruri de caractere etc. Deși nu este o modalitate eficientă de citire a intrărilor într-un program Java în care timpul acționează ca o constrângere, este, fără îndoială, una dintre cele mai ușoare modalități de a colecta intrări multiple de la utilizator. În acest blog, veți învăța cum să colectați mai multe intrări de șiruri de la utilizator într-un program Java folosind clasa de scanare.

Metode pentru preluarea mai multor intrări folosind scanerul

Trebuie să importați pachetul java.util într-un program înainte de a utiliza clasa Scanner. Următorul tabel listează metodele utilizate pentru a prelua mai multe intrări de diferite tipuri de la utilizator într-un program Java.

Metodă Intrări
nextInt() Întreg
nextFloat() Pluti
următorulDublu() Dubla
nextLong() Lung
nextShort() Mic de statura
Următorul() Un singur cuvânt
nextLine() Linia de șiruri
nextBoolean() boolean

Folosind metoda Java nextLine().

Metoda java.util.Scanner.nextLine() returnează linia care a fost omisă prin avansarea scanerului peste linia curentă. Dacă un separator de linii este dat la sfârșitul liniei curente, această metodă îl exclude și returnează restul șirului din linia curentă. Scanerul este setat la următoarea linie care începe și citește întregul șir, inclusiv spațiile albe ale cuvintelor.

Sintaxa pentru metoda nextLine() este următoarea:

șir public nextLine()

Această metodă aduce următoarele două excepții:

  • NoSuchElementException – Dacă șirul este gol sau nu este găsită nicio linie.
  • IllegalStateException – Dacă scanerul este închis.

Exemplu

Următorul exemplu demonstrează modul în care metoda java.util.Scanner.nextLine() colectează mai multe intrări de la utilizator.

import java.util.Scanner;

clasă publică SacnnerDemoMultipleString

{

public static void main(String[] args)

{

Demo scaner = scaner nou (System.in);

System.out.print(„Vă rugăm să introduceți mai multe intrări pe care doriți să le imprimați: „);

//preia un număr întreg

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

//consumând <enter> de la intrarea de mai sus

demo.nextLine();

pentru (int i = 0; i < șir.lungime; i++)

{

șir[i] = demo.nextLine();

}

System.out.println(“\nAți introdus următoarea intrare: „);

//pentru fiecare buclă pentru a tipări șirul

for(String str: șir)

{

System.out.println(str);

// închide scanerul

scanner.close();

}

}

}

Programul de mai sus va imprima următoarea ieșire

Vă rugăm să introduceți mai multe intrări pe care doriți să le imprimați: 7

Misha

Harry

Robert

Harvey

Jill

Rachel

Jennifer

Ați introdus următoarea intrare:

Misha

Harry

Robert

Harvey

Jill

Rachel

Jennifer

Folosind metoda Java nextInt().

Metoda java.util.Scanner.nextInt() scanează intrarea furnizată de utilizator ca număr întreg. Dacă se găsește un număr întreg, atunci scanerul avansează peste intrarea potrivită.

Sintaxa pentru metoda nextInt() este următoarea:

Public int nextInt()

Această metodă aduce următoarele trei excepții:

  • InputMismatchException – Dacă următorul simbol nu se potrivește cu expresia regulată a întregului sau dacă următorul jeton este în afara intervalului.
  • NoSuchElementException – Dacă intrarea este epuizată.
  • IllegalStateException – Dacă scanerul este închis.

Exemplu

Următorul exemplu demonstrează modul în care metoda java.util.Scanner.nextInt() colectează mai multe intrări de la utilizator.

// Program Java pentru a scana numere întregi folosind Scanner

// clasă și imprimă media lor.

import java.util.Scanner;

clasă publică ScannerDemoInteger

{

public static void main(String[] args)

{

Demo scaner = scaner nou (System.in);

// Inițializați suma și numărul elementelor de intrare

int sum = 0, count = 0;

// Verificați dacă este prezentă o valoare întreagă

în timp ce (demo.hasNextInt())

{

// Scanează o valoare întreagă

int num = demo.nextInt();

suma += num;

numără++;

}

int mean = sumă / număr;

System.out.println(„Mean: ” + medie);

}

}

Programul de mai sus este alimentat cu următoarea intrare:

101

223

238

892

99

500

728

Programul de mai sus va imprima următoarea ieșire:

Medie: 397

Citiți și: Proiectul Java MVC

Folosind metoda Java nextDouble().

Metoda java.util.Scanner.nextDouble() scanează intrarea furnizată de utilizator ca dublu. Dacă se găsește o expresie regulată float, atunci scanerul avansează dincolo de intrarea potrivită.

Sintaxa pentru metoda nextInt() este următoarea:

public double nextDouble()

Această metodă aduce următoarele trei excepții:

  • InputMismatchException – Dacă următorul jeton nu se potrivește cu expresia regulată float sau dacă următorul jeton este în afara intervalului.
  • NoSuchElementException – Dacă intrarea este epuizată.
  • IllegalStateException – Dacă scanerul este închis.

Exemplu

Exemplul demonstrează modul în care metoda java.util.Scanner.nextDouble() colectează mai multe intrări de la utilizator.

// Program Java pentru a scana float folosind Scanner

import java.util.Scanner;

clasă publică ScannerDoubleRegularExpression {

public static void main(String[] args) {

String nou = „Bună dimineața! 3 + 3,0 = 6 adevărat”;

// scrie un nou obiect scaner cu obiectul String specificat

Demo scaner = scaner nou(e);

// folosește localitatea SUA pentru a putea identifica dublele din șir

demo.useLocale(Locale.US);

// caută următorul token dublu și imprimă-l

în timp ce (demo.hasNext()) {

// dacă următorul este un dublu, tipăriți găsit și expresia regulată float

dacă (demo.hasNextDouble()) {

System.out.println(„Găsit:” + demo.nextDouble());

}

// dacă o expresie regulată dublă nu este găsită, se afișează „Not Found” și simbolul

System.out.println(„Nu a fost găsit:” + demo.next());

}

// închide scanerul

scanner.close();

}

}

Programul de mai sus va avea ca rezultat următorul rezultat:

Nu a fost găsit: bine

Nu a fost găsit: dimineața!

Găsit: 3.0

Nu a fost găsit: +

Găsit: 3.0

Nu a fost găsit: =

Găsit: 6.0

Nu a fost găsit: adevărat

Învață cursuri de dezvoltare software online de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Concluzie

De exemplu, codurile date în acest blog sunt scopul și pot fi modificate în funcție de nevoile unei persoane. Dacă sunteți interesat să aflați mai multe despre Java și dezvoltarea de software full-stack, consultați programul Executive PG de la upGrad și IIIT-B în dezvoltarea de software Full-stack, care este conceput pentru profesioniști care lucrează și oferă peste 500 de ore de formare riguroasă, 9+ proiecte și sarcini, statutul de absolvenți IIIT-B, proiecte practice practice și asistență pentru locuri de muncă cu firme de top.

Ce este clasa Scanner în Java?

Clasa Scanner vă permite să citiți valori de la tastatură fără a utiliza intrarea consolei Java. Intrarea consolei Java este lentă, la fel și redirecționarea acesteia. Scannerul este mai rapid și mai convenabil, așa că scanerul ar trebui să fie utilizat în locul introducerii consolei Java. Scannerul folosește fluxul de intrare obișnuit al Java, astfel încât poate fi legat cu alți analizatori. Scannerul este, de asemenea, mai ușor de utilizat decât intrarea consolei Java. Scannerul are trei subclase principale, și anume, BufferedReader, InputStreamReader și FileReader. Cel mai general este BufferedReader. BufferedReader poate citi orice poate fi citit de InputStreamReader și are un mare avantaj: tampon. Buffer-ul poate conține câte o linie la un moment dat. Un flux de intrare nu are deloc buffer: atunci când apelați next(), returnează valoarea. Aceasta înseamnă că trebuie să colectați valorile înainte de a putea face ceva cu ele. Scannerul o face pentru tine.

Ce este un generator de șiruri în Java?

Un generator de șiruri este un nou tip de clasă pentru a crea un șir. Clasa string builder este introdusă în Java din versiunea 1.3. Vă permite să creați un șir prin concatenarea unui număr de șiruri și se va redimensiona automat pe măsură ce adăugați mai multe șiruri la acesta. În comparație cu concatenarea șirurilor, utilizarea generatorului de șiruri este mai rapidă și flexibilă, deși este mai puțin lizibilă. Obiectele StringBuilder sunt obiecte care sunt utilizate pentru a crea valori String. Obiectele StringBuilder au o serie de metode.

Ce este un InputStreamReader în Java?

InputStreamReader citește un flux de caractere dintr-un flux de intrare și le decodifică într-o codificare de caractere specificată. Oferă o modalitate ușoară de a converti fluxurile de caractere de la o codificare la alta. InputStreamReader citește octeții din fluxul de bază și îi convertește în caractere utilizând codificarea setului de caractere specificat. Este o clasă care este utilizată pentru a converti datele fluxului de octeți în date fluxului de caractere. Fluxul de octeți reprezintă date binare și fluxul de caractere reprezintă text.