Java-skanner (med eksempler)

I denne veiledningen vil vi lære om Java Scanner og dens metoder ved hjelp av eksempler.

Den Scannerklassen av java.utilpakken brukes til å lese inn data fra ulike kilder som inngangsstrømmer, brukere, filer, etc. La oss ta et eksempel.

Eksempel 1: Les en tekstlinje ved hjelp av skanneren

 import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // takes input from the keyboard String name = input.nextLine(); // prints the name System.out.println("My name is " + name); // closes the scanner input.close(); ) )

Produksjon

 Skriv inn navnet ditt: Kelvin Jeg heter Kelvin

Legg merke til linjen i eksemplet ovenfor

 Scanner input = new Scanner(System.in);

Her har vi opprettet et objekt med Scannernavngitt input.

Den System.inparameteren brukes til å ta inn fra standard input. Det fungerer akkurat som å ta innganger fra tastaturet.

Vi har da brukt nextLine()metoden i Scannerklassen til å lese en tekstlinje fra brukeren.

Nå som du har noen ide om Scanner, la oss utforske mer om det.

Importer skannerklasse

Som vi kan se fra eksemplet ovenfor, må vi importere java.util.Scannerpakken før vi kan bruke Scannerklassen.

 import java.util.Scanner;

Hvis du vil lære mer om import av pakker, kan du gå til Java-pakker.

Lag et skannerobjekt i Java

Når vi har importert pakken, kan du lage Scannerobjekter her.

 // read input from the input stream Scanner sc1 = new Scanner(InputStream input); // read input from files Scanner sc2 = new Scanner(File file); // read input from a string Scanner sc3 = new Scanner(String str);

Her har vi laget objekter i Scannerklassen som vil lese innspill fra henholdsvis InputStream, File og String.

Java-skannermetoder for å ta inndata

Den Scannerklassen gir ulike metoder som tillater oss å lese innganger av forskjellige typer.

Metode Beskrivelse
nextInt() leser en intverdi fra brukeren
nextFloat() leser en floatverdi fra brukeren
nextBoolean() leser en booleanverdi fra brukeren
nextLine() leser en tekstlinje fra brukeren
next() leser et ord fra brukeren
nextByte() leser en byteverdi fra brukeren
nextDouble() leser en double-verdi fra brukeren
nextShort() leser en shortverdi fra brukeren
nextLong() leser en longverdi fra brukeren

Eksempel 2: Java Scanner nextInt ()

 import java.util.Scanner; class Main ( public static void main(String() args) ( // creates a Scanner object Scanner input = new Scanner(System.in); System.out.println("Enter an integer: "); // reads an int value int data1 = input.nextInt(); System.out.println("Using nextInt(): " + data1); input.close(); ) )

Produksjon

 Skriv inn et heltall: 22 Bruk nextInt (): 22

I eksemplet ovenfor har vi brukt nextInt()metoden til å lese en heltalsverdi.

Eksempel 3: Java Scanner nextDouble ()

 import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter Double value: "); // reads the double value double value = input.nextDouble(); System.out.println("Using nextDouble(): " + value); input.close(); ) )

Produksjon

 Angi dobbel verdi: 33.33 ved hjelp av nextDouble (): 33.33

I eksemplet ovenfor har vi brukt nextDouble()metoden til å lese en flytende punktverdi.

Eksempel 4: Java-skanner neste ()

 import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // reads the entire word String value = input.next(); System.out.println("Using next(): " + value); input.close(); ) )

Produksjon

 Skriv inn navnet ditt: Jonny Walker Bruk neste (): Jonny

I eksemplet ovenfor har vi brukt next()metoden til å lese en streng fra brukeren.

Her har vi oppgitt det fulle navnet. Men next()metoden leser bare fornavnet.

Dette er fordi next()metoden leser innspill opp til det hvite mellomromstegnet . Når det hvite området er oppstått, returnerer det strengen (unntatt det hvite området).

Eksempel 5: Java Scanner nextLine ()

 import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // reads the entire line String value = input.nextLine(); System.out.println("Using nextLine(): " + value); input.close(); ) )

Produksjon

 Skriv inn navnet ditt: Jonny Walker ved hjelp av nextLine (): Jonny Walker

I det første eksemplet har vi brukt nextLine()metoden til å lese en streng fra brukeren.

I motsetning til next(), nextLine()leser metoden hele linjen med inndata inkludert mellomrom. Metoden avsluttes når den støter på en neste linje karakter, .

Recommended Reading: Java Scanner skipping the nextLine().

Java Scanner with BigInteger and BigDecimal

Java scanner can also be used to read the big integer and big decimal numbers.

  • nextBigInteger() - reads the big integer value from the user
  • nextBigDecimal() - reads the big decimal value from the user

Example 4: Read BigInteger and BigDecimal

 import java.math.BigDecimal; import java.math.BigInteger; import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter a big integer: "); // reads the big integer BigInteger value1 = input.nextBigInteger(); System.out.println("Using nextBigInteger(): " + value1); System.out.print("Enter a big decimal: "); // reads the big decimal BigDecimal value2 = input.nextBigDecimal(); System.out.println("Using nextBigDecimal(): " + value2); input.close(); ) )

Output

 Enter a big integer: 987654321 Using nextBigInteger(): 987654321 Enter a big decimal: 9.55555 Using nextBigDecimal(): 9.55555

In the above example, we have used the java.math.BigInteger and java.math.BigDecimal package to read BigInteger and BigDecimal respectively.

Working of Java Scanner

Den Scannerklassen leser en hel linje og deler linjen inn tokens. Tokens er små elementer som har noen betydning for Java-kompilatoren. For eksempel,

Anta at det er en inngangsstreng:

 He is 22

I dette tilfellet vil skannerobjektet lese hele linjen og dele strengen i tokens: " Han ", " er " og " 22 ". Objektet gjentas deretter over hvert token og leser hvert token ved hjelp av de forskjellige metodene.

Merk : Som standard brukes mellomrom for å dele tokens.

Interessante artikler...