Lớp máy quét Java

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về Máy quét Java và các phương pháp của nó với sự trợ giúp của các ví dụ.

Các Scannerlớp của java.utilgói phần mềm được sử dụng để đọc dữ liệu đầu vào từ các nguồn khác nhau như suối đầu vào, người dùng, tập tin, vv Hãy lấy một ví dụ.

Ví dụ 1: Đọc một dòng văn bản bằng máy quét

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

Đầu ra

Enter your name: Kelvin
My name is Kelvin

Trong ví dụ trên, hãy để ý dòng

Scanner input = new Scanner(System.in);

Ở đây, chúng tôi đã tạo một đối tượng của đầu vàoScanner được đặt tên .

Các System.intham số được sử dụng để lấy đầu vào từ đầu vào tiêu chuẩn. Nó hoạt động giống như lấy đầu vào từ bàn phím.

Sau đó, chúng tôi đã sử dụng nextLine()phương thức của Scannerlớp để đọc một dòng văn bản từ người dùng.

Bây giờ bạn đã có một số ý tưởng về nó Scanner, hãy cùng khám phá thêm về nó.

Nhập lớp máy quét

Như chúng ta có thể thấy từ ví dụ trên, chúng ta cần nhập java.util.Scannergói trước khi có thể sử dụng Scannerlớp.

import java.util.Scanner;

Để tìm hiểu thêm về cách nhập các gói, hãy truy cập Gói Java .

Tạo một đối tượng máy quét trong Java

Sau khi chúng tôi nhập gói, đây là cách chúng tôi có thể tạo Scannercác đối tượng.

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

Ở đây, chúng ta đã tạo các đối tượng của Scannerlớp sẽ đọc đầu vào từ InputStream , File và String tương ứng.

Phương pháp máy quét Java để lấy đầu vào

Các Scannerlớp học cung cấp phương pháp khác nhau mà cho phép chúng ta đọc đầu vào của các loại khác nhau.

MethodDecfscription
nextInt()reads an int value from the user
nextFloat()reads a float value form the user
nextBoolean()reads a boolean value from the user
nextLine()reads a line of text from the user
next()reads a word from the user
nextByte()reads a byte value from the user
nextDouble()reads a double value from the user
nextShort()reads a short value from the user
nextLong()reads a long value from the user

Ví dụ 2: Máy quét Java 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();
  }
}

Đầu ra

Enter an integer:
22
Using nextInt(): 22

Trong ví dụ trên, chúng ta đã sử dụng nextInt()phương thức để đọc một giá trị số nguyên.

Ví dụ 3: Máy quét Java 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();
  }
}

Đầu ra

Enter Double value: 33.33
Using nextDouble(): 33.33

Trong ví dụ trên, chúng ta đã sử dụng nextDouble()phương thức để đọc một giá trị dấu phẩy động.

Ví dụ 4: Máy quét Java tiếp theo ()

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

Đầu ra

Enter your name: Jonny Walker
Using next(): Jonny

Trong ví dụ trên, chúng tôi đã sử dụng next()phương thức để đọc một chuỗi từ người dùng.

Ở đây, chúng tôi đã cung cấp tên đầy đủ. Tuy nhiên, next()phương thức chỉ đọc tên đầu tiên.

Điều này là do next()phương thức đọc đầu vào đến  tự khoảng trắng . Khi gặp phải khoảng trắng , nó sẽ trả về chuỗi (không bao gồm khoảng trắng).

Ví dụ 5: Máy quét Java 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();
  }
}

Đầu ra

Enter your name: Jonny Walker
Using nextLine(): Jonny Walker

Trong ví dụ đầu tiên, chúng tôi đã sử dụng nextLine()phương thức để đọc một chuỗi từ người dùng.

Không giống như next()nextLine()phương thức đọc toàn bộ dòng đầu vào bao gồm cả khoảng trắng. Phương thức bị kết thúc khi nó gặp một ký tự dòng tiếp theo \n,.

Đề xuất Đọc: Máy quét Java bỏ qua nextLine () .

Máy quét Java với BigInteger và BigDecimal

Máy quét Java cũng có thể được sử dụng để đọc số nguyên lớn và số thập phân lớn.

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

Ví dụ 4: Đọc BigInteger và 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();
  }
}

Đầu ra

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

Trong ví dụ trên, chúng tôi đã sử dụng java.math.BigIntegervà java.math.BigDecimalgói để đọc BigIntegervà BigDecimaltương ứng.

Hoạt động của Máy quét Java

Các Scannerlớp đọc toàn bộ một dòng và chia dòng vào thẻ. Token là các phần tử nhỏ có một số ý nghĩa đối với trình biên dịch Java. Ví dụ,

Giả sử có một chuỗi đầu vào:

He is 22

Trong trường hợp này, đối tượng máy quét sẽ đọc toàn bộ dòng và chia chuỗi thành các mã thông báo: ” He “, ” is ” và ” 22 “. Sau đó, đối tượng lặp lại từng mã thông báo và đọc từng mã thông báo bằng các phương pháp khác nhau của nó.

Lưu ý : Theo mặc định, khoảng trắng được sử dụng để phân chia các mã thông báo.









Gõ tìm kiếm nhanh...