logo

„Java“ skaitytuvo klasė

„Java“ programoje „Scanner“ yra „java.util“ paketo klasė, naudojama primityvių tipų, pvz., „int“, „double“ ir kt., ir eilučių įvestims gauti.

Naudoti „Java“ skaitytuvo klasę yra lengviausias būdas nuskaityti įvestį „Java“ programoje, tačiau tai nėra labai efektyvu, jei norite įvesties metodo scenarijuose, kai laikas yra suvaržymas, kaip konkurencinio programavimo atveju.

Java skaitytuvo įvesties tipai

Skaitytuvo klasė padeda priimti standartinį „Java“ įvesties srautą. Taigi, mums reikia kai kurių metodų, kaip išgauti duomenis iš srauto. Duomenų išgavimo metodai nurodyti toliau:



Metodas

apibūdinimas

nextBoolean()

Naudojama Būlio vertei nuskaityti

nextByte()

Naudojamas baitų vertei nuskaityti

nextDouble()

Naudojamas dvigubos vertės skaitymui

nextFloat()

java sąrašas
Naudojamas slankiosios vertės skaitymui

nextInt()

Naudojamas Int vertei nuskaityti

kita eilutė ()

Naudojama eilutės vertei nuskaityti

nextLong ()

Naudojamas ilgos vertės skaitymui

nextShort()

Naudojama trumpajai vertei skaityti

Pažvelkime į kodo fragmentą, kad skaitytume įvairių duomenų tipų duomenis.

javaable

„Java“ skaitytuvo klasės pavyzdžiai

1 pavyzdys:

Java




// Java program to read data of various types> // using Scanner class.> import> java.util.Scanner;> // Driver Class> public> class> ScannerDemo1 {> >// main function> >public> static> void> main(String[] args)> >{> >// Declare the object and initialize with> >// predefined standard input object> >Scanner sc =>new> Scanner(System.in);> >// String input> >String name = sc.nextLine();> >// Character input> >char> gender = sc.next().charAt(>0>);> >// Numerical data input> >// byte, short and float can be read> >// using similar-named functions.> >int> age = sc.nextInt();> >long> mobileNo = sc.nextLong();> >double> cgpa = sc.nextDouble();> >// Print the values to check if the input was> >// correctly obtained.> >System.out.println(>'Name: '> + name);> >System.out.println(>'Gender: '> + gender);> >System.out.println(>'Age: '> + age);> >System.out.println(>'Mobile Number: '> + mobileNo);> >System.out.println(>'CGPA: '> + cgpa);> >}> }>

>

>

Įvestis

Geek F 40 9876543210 9.9>

Išvestis

Name: Geek Gender: F Age: 40 Mobile Number: 9876543210 CGPA: 9.9>

Kartais turime patikrinti, ar kita mūsų perskaityta reikšmė yra tam tikro tipo, ar įvestis pasibaigė (aptiktas EOF žymeklis).

Tada patikriname, ar skaitytuvo įvestis yra tokio tipo, kokio mes norime, naudodami hasNextXYZ() funkcijas, kur XYZ yra mus dominantis tipas. Funkcija grąžina teisingą, jei skaitytuvas turi tokio tipo prieigos raktą, kitu atveju false. Pavyzdžiui, toliau pateiktame kode naudojome hasNextInt(). Norėdami patikrinti, ar yra eilutė, naudojame hasNextLine (). Panašiai, norėdami patikrinti, ar yra vienas simbolis, naudojame hasNext().charAt(0).

2 pavyzdys:

Pažiūrėkime į kodo fragmentą, kad perskaitytume kai kuriuos skaičius iš konsolės ir išspausdintume jų vidurkį.

Java


rodyti vartotojams mysql



// Java program to read some values using Scanner> // class and print their mean.> import> java.util.Scanner;> public> class> ScannerDemo2 {> >public> static> void> main(String[] args)> >{> >// Declare an object and initialize with> >// predefined standard input object> >Scanner sc =>new> Scanner(System.in);> >// Initialize sum and count of input elements> >int> sum =>0>, count =>0>;> >// Check if an int value is available> >while> (sc.hasNextInt()) {> >// Read an int value> >int> num = sc.nextInt();> >sum += num;> >count++;> >}> >if> (count>>>) {> >int> mean = sum / count;> >System.out.println(>'Mean: '> + mean);> >}> >else> {> >System.out.println(> >'No integers were input. Mean cannot be calculated.'>);> >}> >}> }>

>

>

Įvestis

1 2 3 4 5>

Išvestis

Mean: 3>

Svarbūs dalykai apie „Java“ skaitytuvo klasę

  • Norėdami sukurti skaitytuvo klasės objektą, paprastai perduodame iš anksto nustatytą objektą System.in, kuris reiškia standartinį įvesties srautą. Jei norime nuskaityti įvestį iš failo, galime perduoti objektą iš klasės Failas.
  • Norint nuskaityti skaitines tam tikro duomenų tipo XYZ reikšmes, reikia naudoti funkciją nextXYZ(). Pavyzdžiui, norėdami perskaityti trumpo tipo reikšmę, galime naudoti nextShort()
  • Norėdami skaityti eilutes, naudojame nextLine().
  • Norėdami perskaityti vieną simbolį, naudojame next().charAt(0). Funkcija next() grąžina kitą žetoną/žodį įvestyje kaip eilutę, o funkcija charAt(0) grąžina pirmąjį tos eilutės simbolį.
  • Skaitytuvų klasė skaito visą eilutę ir padalija eilutę į žetonus. Žetonai yra maži elementai, turintys tam tikrą reikšmę Java kompiliatoriui. Pavyzdžiui, tarkime, kad yra įvesties eilutė: Kaip sekasi
    Tokiu atveju skaitytuvo objektas nuskaitys visą eilutę ir padalija eilutę į žetonus: How, are and you. Tada objektas kartoja kiekvieną prieigos raktą ir nuskaito kiekvieną žetoną naudodamas skirtingus metodus.