Cum să obțineți intrarea utilizatorului în Java [cu exemple]

Publicat: 2021-05-27

Cuprins

Introducere

Preluarea datelor utilizatorului în Java este primul pas către crearea unui software de succes în Java. Programul Java colectează input de la utilizator prin diverse surse de intrare, cum ar fi un mouse, tastatură, cerere de rețea, argumente CLI, etc. Java are, de asemenea, diverse pachete I/O care pot fi importate în program pentru a efectua operațiuni de intrare-ieșire. Aceste pachete acceptă introducerea de tipuri primitive, cum ar fi dublu, întreg, șiruri de caractere etc.

Acest articol se va concentra pe metode precum Scanner, BufferedReader și InputStreamReader pentru a prelua intrarea utilizatorului în Java .

Cum să preluați intrarea în Java folosind clasa Scanner?

Clasa Scanner este una dintre metodele din pachetul „java.util” care analizează și gestionează toate intrările de tip primitiv. Clasa Scanner îi cere utilizatorului să introducă intrarea, apoi imprimă același lucru pe ecran sau consolă. Puteți importa clasa Scanner din pachetul „java.util” din program și puteți crea un obiect pentru a-și folosi metodele.

De exemplu,

Test scaner = scaner nou (System.in);

În declarația de mai sus, testul este numele unui obiect, iar System.in este fluxul de intrare. Instanța Scanner creată va scana intrarea utilizatorului în Java .

Notă: Nu este necesar să scrieți System.in ca șir de intrare în programul dumneavoastră. Îl puteți înlocui cu un fișier și un fișier de citit, șir ca flux de intrare.

De exemplu,

Test scaner = scaner nou (nou FileInputStream ("testFile.txt"), "UTF-8");

Asigurați-vă că scrieți codul {test.close()} pentru a închide scanerul când ați terminat de editat.

Metode de scanare pentru citirea intrărilor de la utilizator

Următorul tabel listează metodele pe care le utilizează scanerul pentru a citi intrarea în Java introdusă de utilizator.

Metodă Tip de returnare Descriere
Următorul() Şir Returnează următorul token din scaner
nextByte() octet Citește următoarea intrare ca un octet.
nextFloat() Pluti Citește următoarea intrare ca un float.
nextInt() Întreg Citește următoarea intrare ca un număr întreg.
nextShort() Mic de statura Citiți următoarea intrare ca pe scurt.
nextLong() Lung Citiți următoarea intrare ca lungă.
nextBoolean() boolean Citește următoarea intrare ca boolean și returnează valoarea.
nextLine() Şir Avansează scanerul cu o linie și returnează intrarea omisă.

Exemplu

Următorul program Java utilizează clasa Scanner pentru a prelua intrarea utilizatorului în Java (șir, întreg și plutitor).

import java.util.Scanner;

clasa TakeUserInput

{

public static void main(Argumente șir[])

{

int a;

plutitor b;

Coarda c;

Test scaner = scaner nou (System.in);

//Ia intrarea utilizatorului ca șir

System.out.println(„Tastați un șir: „);

c = in.nextLine();

System.out.println(„Șirul de intrare utilizator este: „+c);

//Ia intrarea utilizatorului ca întreg

System.out.println(„Tastați un număr întreg: „);

a = in.nextInt();

System.out.println(„Numărul întreg introdus de utilizator este: „+a);

//Preia intrarea utilizatorului ca float

System.out.println(„Tastați un număr flotant: „);

b = in.nextFloat();

System.out.println(„Numărul Float introdus de utilizator este: „+b);

}}

Ieșire

Tastați un șir:

Andrew

Șirul de intrare de utilizator este: Andrew

Tastați un număr întreg:

03

Numărul întreg introdus de utilizator este: 03

Introduceți un număr flotant:

61,46

Numărul Float introdus de utilizator este: 61.46

Dacă doriți să aflați mai multe despre preluarea intrărilor în Java folosind clasa de scanare, consultați Intrarea de șiruri multiple în Java folosind blogul Scanner.

Metode BufferedReader și InputStreamReader

BufferedReader este o altă clasă din Java care scanează fluxul de caractere dintr-un flux de intrare bazat pe caractere. InputStreamReader este o funcție în Java care convertește fluxul de intrare într-o secvență de caractere pe care BufferedReader să le scaneze. Clasa BufferedReader acceptă InputStream ca parametru.

Clasa BufferedReader folosește metode read() și readLine() pentru a citi caracterele și linia următoare și le returnează.

Trebuie să importați pachetul java.io.BufferedReader pentru a crea o clasă BufferedReader.

// Creează un FileReader

FileReader test = new FileReader(Fișier șir);

// Creează un BufferedReader

BufferedReader a = BufferedReader nou(test);

Obțineți diplome online de Inginerie software 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.

Metode BufferedReader pentru citirea intrărilor de la utilizator

Următorul tabel listează metodele pe care cititorul în buffer le folosește pentru a citi intrarea în Java introdusă de utilizator.

Metodă Descriere
gata() Verifică dacă cititorul de fișiere este în stare de citire.
marcă() Marchează poziția în cititorul tampon până la care au fost citite datele.
reset() Returnează controlul la punctul în care a fost setat marcajul.

Exemplu

Următorul program Java utilizează o clasă BufferedReader alături de o clasă InputStreamReader pentru a prelua intrarea utilizatorului în Java .

import java.io.BufferedReader;

import java.io.FileReader;

import java.io.IOException;

test de clasă publică {

public static void main(String[] args) {

BufferedReader buffer = null;

încerca {

String scanFirstLine;

buffer = new BufferedReader(new FileReader(„D:\\user_input.txt”));

while ((scanFirstLine = buffer.readLine()) != null) {

System.out.println(scanFirstLine);

}

} catch (IOException a) {

a.printStackTrace();

} in cele din urma {

încerca {

dacă (buffer != nul)

buffer.close();

} catch (IOException b) {

b.printStackTrace();

} } } }

Ieșire

Următoarele date se găsesc în fișier:

Acesta este un exemplu de declarație pe care BufferedReader o citește din fișier.

În exemplul de mai sus, am creat un cititor tamponat numit buffer. Cititorul tamponat este legat de fișierul „user_input.txt”.

Apoi, am folosit metoda readLine() pentru a scana caracterele din buffer-ul cititorului tamponat.

Concluzie

În acest articol, am acoperit metodele utilizate pentru a prelua intrarea utilizatorului în Java . Am discutat despre metodele Scanner și BufferedReader, împreună cu exemple. Am discutat, de asemenea, metodele pe care le utilizează clasa Scanner și BufferedReader pentru a prelua intrarea în Java . Sperăm că aveți o înțelegere de bază despre cum să gestionați intrarea în Java . Dacă doriți să aflați mai multe limbaje de programare Java, consultați cursul UpGrad Executive PG Program în Full Stack Development, conceput pentru profesioniștii care lucrează.

Planificați-vă acum cariera de dezvoltare software.

Aplicați pentru certificarea upGrad PG legată de locuri de muncă în inginerie software