[Java] Trôi lệnh trong Java khi dùng Scanner

Khi dùng Scanner để nhập dữ liệu trong Java rất có khả năng bị trôi lệnh. Ví dụ đơn giản như bạn nhập số trước rồi mới nhập xâu ký tự, khi đó ký tự “n” (enter) khi bạn nhập số vẫn trong bộ đệm mà không được lấy ra, kết quả là khi thực hiện lệnh tiếp theo nhập xâu nó sẽ lấy ký tự “n” làm bạn không nhập vào được. Để giải quyết vấn đề này ta làm như sau:

int age = Integer.parseInt(scan.nextLine());   // tranh troi lenh nhu khi dung age = scan.nextInt()
String name = scan.nextLine();

Tức là chúng ta cứ nhập vào xâu như bình thường rồi mới chuyển về kiểu số int