Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Clasa Scanner

java


Clasa Scanner

Clasa Scanner apare în pachetul java.util si permite regasirea într-un text a tipurilor primitive si a sirurilor, folosind expresii regulate.




public final class Scanner extends Object
implements Iterator<String>

Un scanner (obiect de tipul Scanner) împarte intrarea în entitati, folosind un sablon de delimitatori (delimitatorii impliciti sunt spatiile albe) si regaseste entitatile prin invocarea de metode next. Pentru a verifica daca urmeaza o entitate de un anumit tip se folosesc metodele hasNext

Exemplu. Citirea unui întreg de la intrarea standard se poate realiza astfel:

Scanner sc = new Scanner(System.in);
int i = sc.nextInt();

Intrarea poate fi si un fisier text:

Scanner sc = new Scanner(new File("fisier"));

sau un sir de caractere.

Exemplu. Programul urmator realizeaza citirea repetata de la intrarea standard si introducerea într-un fisier "text" a unei succesiuni de întregi si siruri de caractere, pâna când este detectat sirul "STOP"; întregii sunt înscrisi în fisierul aaa, iar sirurile sunt tiparite la iesirea standard.

import java.util.*; import java.io.*;

class Scan

while(!s.equals("STOP"));

out.close(); std_out.close();

}

unde despre clasa PrintWriter vom vorbi în continuare.

Metodele de scanare relative la citire pot conduce la blocare prin asteptarea unei valori de intrare.

Metodele next() si hasNext(), precum si metodele asociate tipurilor primitive (ca de exemplu nextInt() si hasNextInt()), încep prin a "sari" peste intrarile ce corespund sabloanelor de delimitatori si apoi încearca sa regaseasca urmatoarea entitate.

Un obiect de tipul Scanner nu este adecvat lucrului cu fire de executatre decât în prezenta sincronizarii.

Constructorul are un parametru de unul dintre tipurile:

File InputStream Readable String ReadableByteChannel

Cele mai folosite metode sunt urmatoarele:

public boolean hasNext()

întoarce true daca mai urmeaza o entitate;

public String next()

detecteaza si întoarce urmatoarea entitate;

public boolean hasNextLine()

întoarce true daca mai urmeaza o noua linie de intrare;

public String nextLine()

întoarce urmatoarea linie de la intrare;

În metodele descrise în continuare, XXX poate fi:

Boolean Byte Short Int Long Float Double BigInteger BigDecimal

  • metodele hasNextXXX(), cu semnificatie evidenta, pot lansa exceptia:

IllegalStateException daca scanner-ul este închis.

  • metodele nextXXX(), cu semnificatie evidenta, pot lansa exceptiile:

InputMismatchException - daca entitatea nu este cea asteptata;

NoSuchElementException - daca s-a ajuns la sfârsitul intrarii;

IllegalStateException - daca scanner-ul este închis.

Metoda:

public void close()

închide scanner-ul.

Se observa ca nu exista o metoda nextXXX() pentru citirea de caractere. Putem însa citi o succesiune de caractere separate prin spatii albe, pâna la , de exemplu în modul urmator:

Scanner sc = new Scanner(System.in);

PrintWriter std_out = new PrintWriter(System.out);

char ch = sc.next().charAt(0);

while(ch != '$')


Document Info


Accesari: 4233
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )