Skip to content

Nhập xuất dữ liệu sử dụng Scanner trong Java

Trong bài viết này, tôi sẽ hướng dẫn các bạn cách dùng Scanner trong Java để nhập và xuất dữ liệu. Vậy có lúc nào các bạn nhận được một câu hỏi khi làm phần Java core rằng, hãy nhập và xuất dữ liệu từ bàn phím. Các bạn không biết và mơ hồ về cách sử dụng làm thế nào để nhập từ bàn phím? Câu trả lời là các bạn sử dụng Scanner trong Java nhé.Bài viết này sẽ giải đáp mọi thắc mắc cho các bạn!

Có thể hiểu Scanner bằng một ví dụ thực tiễn

ví dụ về Nhập xuất dữ liệu sử dụng Scanner trong Java


Nhìn vào hình trên các bạn biết ngay rằng đây là một máy in? Chẳng liên quan gì đến bài mà chúng ta học hôm nay cả đúng không? Có. Thật ra Scanner trong Java các bạn cứ hiểu và tưởng tượng nó là một cái máy in, có thể nhập và xuất ra dữ liệu. Nghĩa là khi bạn muốn đi photo một giáy tờ giấy CMND, công việc đầu tiên chúng ta cần phải nhập vào thông tin để máy tin hiểu thông tin cần in là gì, sau đó chúng ta có kết quả tương ứng là một bản sao CMND, đó là xuất. Đến đây có lẽ hiểu cơ chế nhập và xuất dữ liệu với scanner trong Java rồi chứ?

Scanner áp dụng trong trường hợp nào?

Khi học một kiến thức gì đó, ngoài làm được các bạn phải hiểu để sau này áp dụng vào nhiều bài trong thực tế hơn, chứ không phải là làm được nhưng không hiểu. Với Scanner trong Java, giả sử khi có một yêu cầu như sau:
Nhập vào một chuỗi trong java từ bàn phím? Với trường hợp này, chuỗi nhập từ người dùng nên chúng ta chưa biết trước là chuỗi gì cả. Lúc này các bạn sử dụng Scanner nhé.

Cách sử dụng Scanner 

Để sử dụng được lớp Scanner (các phương thức của scanner trong java) thì các bạn cần import gói java.util.Scanner như sau:

import java.util.Scanner;

Để sử dụng các phương thức của lớp Scanner thì các bạn cần có đối tượng, vậy cách tạo đối tượng Scanner trong Java như sau:

Scanner input = new Scanner( System.in );

Bây giờ, chúng ta cần nhập dữ liệu vào với Scanner thì làm bằng cách nào? Chúng ta có thể nhập vào một chuỗi, nhập vào một số kiểu int, nhập vào một số kiểu số thực như float hay double, nhập ký tự… thì các bạn đã hình dủng ra được cách xử lý chưa? Khi chúng ta có đối tượng scanner tất nhiên chúng ta có quyền sử dụng các phương thức của lớp Scanner. Vậy các phương thức của lớp Scanner thường được sử dụng như sau:

Theo tôi các bạn chỉ cần học những phương thức này của lớp Scanner và áp dụng vào các bài toán thực tế thì quá đủ rồi:

Các phương thức thường được sử dụng của lớp Scanner trong Java:

Phương thức Mô tả
public String next() Trả về kết quả nội dung trước khoảng trắng (String)
public String nextLine() Trả về kết quả nội dung của một chuỗi nhập vào (String)
public byte nextByte() Trả về kiểu dữ liệu byte
public short nextShort() Trả về kiểu dữ liệu short
public int nextInt() Trả về kiểu dữ liệu int
public long nextLong() Trả về kiểu dữ liệu long
public float nextFloat() Trả về kiểu dữ liệu float
public double nextDouble() Trả về kiểu dữ liệu double

 

Phân biệt phương thức next() và nextLine() trong scanner là gì?

Như vậy chúng ta đã có thể thực hiện được một bài toán nhập dữ liệu bằng Scanner được rồi đấy. Như các bạn thấy rằng ở trên, với lớp Scanner chúng ta có hai phương thức là .next() và .nextLine(). Cả hai phương thức này đều trả về kiểu dữ liệu là String vậy sự khác nhau giữa phương thức next() và nextLine() trong scanner là gì? chúng ta cùng xem một ví dụ bên dưới nhé:

 

Kết quả như hình dưới :

Nhập xuất dữ liệu sử dụng Scanner trong Java

Qua đó, có lẽ bạn đọc đã nhận ra được sự khác biết giữa phương thức next() và nextLine() trong Sanner rồi đúng không nhỉ:

  • next() : Trả về kết quả nội dung trước khoảng trắng (String)
  • nextLine() : Trả về kết quả nội dung của một chuỗi nhập vào (String)


Ok.Bây giờ chúng ta cùng nhau làm một số bài tập về Scanner nhé:

Bài tập về Scanner trong Java

Bài 1: Nhập vào một tên một người yêu cũ.

Bài làm:

Bài 2: Nhập vào hai số sau đó tính tổng của hai số đó và in ra kết quả.

Bài 3: Nhập danh sách sinh viên trong java

Với sinh viên thì chúng ta có những biến như họ tên, tuổi và tên lớp. Tất nhiên thì chúng ta còn có những biến khác để nói lên thông tin của một sinh viên, tuy nhiên ở đây tôi chỉ lấy 3 đặc điểm của một sinh viên mà thôi.


Chắc hẳn, bạn đọc học tập và tìm hiểu đến đây và làm phần bài tập thứ 3 này, có lẽ nhận ra được một điều là chúng ta không nhập được tên lớp đúng không? Lý do vì sao? Đây được gọi là trôi lệnh trong Java khi sử dụng Scanner.

Ở bài viết tiếp theo tôi sẽ hướng dẫn các bạn cách để xử lý trôi lệnh trong Java khi sử dụng Scanner nhé. Trước khi qua bài này , bạn đọc nhớ ôn tập và thực hành lại nhé.


Như vậy qua bài này chúng ta đã cùng nhau tìm hiểu về cách sử dụng scanner trong java dùng để nhập và xuất dữ liệu trong java, cũng như phân biệt được hai phương thức next() và nextLine()  trong Scanner. Qua đó thực hiện những bài tập thực tế! Vấn đề  trôi lệnh trong Java khi sử dụng Scanner tôi sẽ hướng dẫn các bạn sau bài này.

Chúc các bạn học tốt!

Published inJAVA CORELẬP TRÌNH JAVA

2 Comments

  1. 789905 717759so considerably amazing data on here, : D. 390658

  2. 833840 640183Hey! I just wanted to ask if you ever have any problems with hackers? My last blog (wordpress) was hacked and I ended up losing many months of hard work due to no data backup. Do you have any methods to prevent hackers? 435795

Leave a Reply

Your email address will not be published. Required fields are marked *