Java-skanner (med exempel)

I den här handledningen lär vi oss om Java-skannern och dess metoder med hjälp av exempel.

Paketets Scannerklass java.utilanvänds för att läsa indata från olika källor som inmatningsströmmar, användare, filer etc. Låt oss ta ett exempel.

Exempel 1: Läs en textrad med hjälp av skannern

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

Produktion

 Ange ditt namn: Kelvin Jag heter Kelvin

Lägg märke till raden i exemplet ovan

 Scanner input = new Scanner(System.in);

Här har vi skapat ett objekt med Scannernamngiven ingång.

Den System.inparameter används för att ta input från standard input. Det fungerar precis som att ta inmatningar från tangentbordet.

Vi har sedan använt klassens nextLine()metod för Scanneratt läsa en textrad från användaren.

Nu när du har en aning om Scanner, låt oss utforska mer om det.

Importera skannerklass

Som vi kan se från exemplet ovan måste vi importera java.util.Scannerpaketet innan vi kan använda Scannerklassen.

 import java.util.Scanner;

För att lära dig mer om att importera paket, besök Java-paket.

Skapa ett skannerobjekt i Java

När vi väl har importerat paketet, här är hur vi kan skapa Scannerobjekt.

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

Här har vi skapat objekt av Scannerklassen som läser inmatning från InputStream, File respektive String.

Java Scanner Methods to Take Input

I Scannerklassen tillhandahåller olika metoder som tillåter oss att läsa ingångar av olika slag.

Metod Beskrivning
nextInt() läser ett intvärde från användaren
nextFloat() läser ett floatvärde från användaren
nextBoolean() läser ett booleanvärde från användaren
nextLine() läser en textrad från användaren
next() läser ett ord från användaren
nextByte() läser ett bytevärde från användaren
nextDouble() läser ett double-värde från användaren
nextShort() läser ett shortvärde från användaren
nextLong() läser ett longvärde från användaren

Exempel 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(); ) )

Produktion

 Ange ett heltal: 22 Använd nextInt (): 22

I exemplet ovan har vi använt nextInt()metoden för att läsa ett heltal.

Exempel 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(); ) )

Produktion

 Ange dubbelvärde: 33.33 med hjälp av nextDouble (): 33.33

I exemplet ovan har vi använt nextDouble()metoden för att läsa ett flytpunktsvärde.

Exempel 4: Java-skanner nästa ()

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

Produktion

 Ange ditt namn: Jonny Walker Använd nästa (): Jonny

I exemplet ovan har vi använt next()metoden för att läsa en sträng från användaren.

Här har vi angett det fullständiga namnet. Men next()metoden läser bara förnamnet.

Detta beror på att next()metoden läser inmatning upp till blankstegsteckenet . När det vita utrymmet påträffas returnerar det strängen (exklusive det tomma utrymmet).

Exempel 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(); ) )

Produktion

 Ange ditt namn: Jonny Walker Använda nextLine (): Jonny Walker

I det första exemplet har vi använt nextLine()metoden för att läsa en sträng från användaren.

Till skillnad next()från nextLine()läser metoden hela raden av inmatning inklusive mellanslag. Metoden avslutas när den möter nästa radtecken .

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 läser en hel rad och delar ledningen i polletter. Tokens är små element som har någon betydelse för Java-kompilatorn. Till exempel,

Antag att det finns en inmatningssträng:

 He is 22

I det här fallet läser skannerobjektet hela raden och delar strängen i tokens: " Han ", " är " och " 22 ". Objektet itererar sedan över varje token och läser varje token med dess olika metoder.

Obs! Som standard används mellanslag för att dela upp tokens.

Intressanta artiklar...