logo

Skenera klase Java valodā

Java valodā skeneris ir java.util pakotnes klase, ko izmanto primitīvu veidu, piemēram, int, double utt., un virkņu ievades iegūšanai.

Skenera klases izmantošana Java ir vienkāršākais veids, kā lasīt ievadi Java programmā, taču tas nav īpaši efektīvs, ja vēlaties izmantot ievades metodi scenārijiem, kuros laiks ir ierobežojums, piemēram, konkurētspējīgā programmēšanā.

Java skenera ievades veidi

Skenera klase palīdz uzņemt standarta ievades straumi Java. Tātad, mums ir vajadzīgas dažas metodes, lai iegūtu datus no straumes. Datu iegūšanai izmantotās metodes ir minētas zemāk:



Metode

jdbc

Apraksts

nākamais Būla()

Izmanto Būla vērtības nolasīšanai

nextByte()

Izmanto baitu vērtības nolasīšanai

nākamaisDouble()

Izmanto Dubultās vērtības nolasīšanai

nextFloat()

Izmanto peldošās vērtības nolasīšanai

nextInt()

Izmanto Int vērtības nolasīšanai

nextLine()

Izmanto līnijas vērtības nolasīšanai

nextLong()

Izmanto garās vērtības lasīšanai

nextShort()

df loc
Izmanto Īsās vērtības nolasīšanai

Apskatīsim koda fragmentu, lai nolasītu dažādu datu tipu datus.

Java skenera klases piemēri

1. piemērs:

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);> >}> }>

>

virtuālā atmiņa

>

Ievade

Geek F 40 9876543210 9.9>

Izvade

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

Dažreiz mums ir jāpārbauda, ​​vai nākamā vērtība, ko nolasām, ir noteikta veida vai ievade ir beigusies (konstatēts EOF marķieris).

Pēc tam mēs pārbaudām, vai skenera ievade ir tāda veida, kādu mēs vēlamies, izmantojot funkcijas hasNextXYZ(), kur XYZ ir mūs interesējošais tips. Funkcija atgriež true, ja skenerim ir šāda veida marķieris, pretējā gadījumā — false. Piemēram, zemāk esošajā kodā mēs esam izmantojuši hasNextInt(). Lai pārbaudītu virkni, mēs izmantojam hasNextLine(). Līdzīgi, lai pārbaudītu vienu rakstzīmi, mēs izmantojam hasNext().charAt(0).

2. piemērs:

Apskatīsim koda fragmentu, lai no konsoles izlasītu dažus skaitļus un izdrukātu to vidējo.

Java




// 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.'>);> >}> >}> }>

>

tīklu veidi

>

Ievade

1 2 3 4 5>

Izvade

Mean: 3>

Svarīgi punkti par Java skenera klasi

  • Lai izveidotu skenera klases objektu, mēs parasti nododam iepriekš definētu objektu System.in, kas apzīmē standarta ievades straumi. Mēs varam nodot objektu no klases Fails, ja vēlamies nolasīt ievadi no faila.
  • Lai nolasītu noteikta datu tipa XYZ skaitliskās vērtības, izmantojamā funkcija ir nextXYZ(). Piemēram, lai nolasītu īstermiņa vērtību, mēs varam izmantot nextShort()
  • Lai lasītu virknes, mēs izmantojam nextLine().
  • Lai lasītu vienu rakstzīmi, mēs izmantojam next().charAt(0). Funkcija next() atgriež nākamo marķieri/vārdu ievadē kā virkni, un funkcija charAt(0) atgriež pirmo rakstzīmi šajā virknē.
  • Skeneru klase nolasa visu rindu un sadala rindu marķieros. Tokeni ir mazi elementi, kuriem ir kāda nozīme Java kompilatorā. Piemēram, pieņemsim, ka ir ievades virkne: How are you
    Šajā gadījumā skenera objekts nolasīs visu rindiņu un sadala virkni marķieros: How, are and you. Pēc tam objekts atkārto katru marķieri un nolasa katru marķieri, izmantojot tās dažādās metodes.