NỘI DUNG BÀI VIẾT
Trong hướng dẫn này, chúng ta sẽ tìm hiểu về Scanner trong Java và các phương thức của nó với sự trợ giúp của các ví dụ.
Lớp Scanner, là một lớp nằm trong gói java.util, được sử dụng để đọc dữ liệu đầu vào từ các nguồn khác nhau như luồng đầu vào, người dùng, tệp.
Ta sẽ thực hiện một ví dụ như sau:
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = input.nextLine();
System.out.println("My name is " + name);
input.close();
}
}
Code language: JavaScript (javascript)
Output:
Enter your name: HDD
My name is HDD
Sử dụng lớp Scanner trong Java
Sau khi nhập lớp Scanner, chúng ta phải lấy thể hiện của lớp này để đọc đầu vào từ người dùng. Chúng ta sẽ tạo một cá thể và chuyển Input Stream System.in trong khi tạo cá thể như sau:
Scanner ScannerObject = new scanner (System.in);
Ở đây, bằng cách viết Scanner scannerObject, chúng ta đang khai báo scannerObject là đối tượng của lớp máy quét. System.in biểu thị rằng đầu vào sẽ được cấp cho Hệ thống.
Ví dụ các phương thức của Scanner trong Java
Scanner trong Java nextInt ()
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter an integer: ");
int data1 = input.nextInt();
System.out.println("Using nextInt(): " + data1);
input.close();
}
}
Code language: JavaScript (javascript)
Output:
Enter an integer:
26
Using nextInt(): 26
Trong ví dụ trên, chúng ta đã sử dụng phương thức nextInt() để đọc một giá trị số nguyên.
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();
}
}
Code language: JavaScript (javascript)
Output
Enter Double value: 33.33
Using nextDouble(): 33.33
Code language: CSS (css)
Trong ví dụ trên, chúng ta đã sử dụng phương thức nextDouble() để đọc một giá trị dấu phẩy động.
Scanner Java next()
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter your name: ");
String value = input.next();
System.out.println("Using next(): " + value);
input.close();
}
}
Code language: JavaScript (javascript)
Output:
Enter your name: Admin Hdd
Using next(): Admin
Trong ví dụ trên, chúng tôi đã sử dụng phương thức next() để đọc một chuỗi từ người dùng.
Ở đây, chúng tôi đã cung cấp tên đầy đủ. Tuy nhiên, phương thức next() chỉ đọc tên đầu tiên.
Điều này là do phương thức next() đọc đầu vào lên đến ký 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).
Scanner trong 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();
}
}
Code language: JavaScript (javascript)
Output
Enter your name: Admin Hdd
Using nextLine(): Admin Hdd
Trong ví dụ đầu tiên, chúng tôi đã sử dụng phương thức nextLine() để đọc một chuỗi từ người dùng.
Không giống như phương thức next(), nextLine()đọ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,.
Hàm tạo của lớp Scanner trong Java
Lớp Scanner chứa các hàm tạo cho các mục đích cụ thể mà chúng ta có thể sử dụng trong chương trình Java của mình.
STT | Hàm tạo | Mô tả |
1 | Scanner (Nguồn tệp) | tạo đối tượng Scanner tạo ra các giá trị được quét từ tệp được chỉ định |
2 | Scanner (File source, String charsetName) | xây dựng đối tượng Scanner tạo ra các giá trị được quét từ tệp được chỉ định |
3 | Scanner (InputStream source) | tạo một đối tượng Scanner mới tạo ra các giá trị được quét từ luồng đầu vào được chỉ định. |
4 | Scanner (InputStream source, String charsetName) | tạo một Scanner mới tạo ra các giá trị được quét từ luồng đầu vào được chỉ định. |
5 | Scanner (Readable source) | tạo một Scanner mới tạo ra các giá trị được quét từ nguồn được chỉ định. |
6 | Scanner (String source) | tạo một Scanner mới tạo ra các giá trị được quét từ chuỗi được chỉ định. |
7 | Scanner (ReadableByteChannel source) | tạo một Scanner mới tạo ra các giá trị được quét từ kênh được chỉ định. |
8 | Scanner (ReadableByteChannel source, String charsetName) | tạo một Máy quét mới tạo ra các giá trị được quét từ kênh được chỉ định. |
9 | Scanner (Path source) | tạo một Scanner mới tạo ra các giá trị được quét từ tệp được chỉ định. |
10 | Scanner (Path source, String charsetName) | tạo một Scanner mới tạo ra các giá trị được quét từ tệp được chỉ định |
Tổng kết
Lớp Scanner là một cách hữu dụng giúp lập trình viên lấy đầu vào người dùng trong chương trình. Bài viết trên đã giới thiệu tới bạn về lớp Scanner trong Java và các phương thức và hàm tạo của lớp Scanner. Hy vọng bạn có thể hiểu rõ hơn về Scanner trong Java qua bài viết này.