Introducerea mai multor șiruri în Java utilizând scanerul [cu exemplu de codare]
Publicat: 2021-02-05Cuprins
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 |
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.