Tại vì bạn để 2 dòng sc.nextLine()
nên nó sẽ nhận 2 lần input vào. Bạn có thể sử dụng thongTin[i] = new Scanner(System.in).nextLine()
và bỏ 2 dòng sc.nextLine()
.
Thắc mắc về bài tập mảng trong JAVA
2 Likes
- Do bạn dùng
nextInt()
. Method này không nhận, cũng không xóa ký tự enter trong bộ đêm, nên ở vòng lặp thứ nhất sẽ bị trôi dòng lệnh. - Bạn đã giải quyết bằng cách thêm một dòng
nextLine()
để loại bỏ nó, tuy nhiên ở vòng lặp tiếp theo bộ đệm không còn dư ký tự enter, nên dẫn đến bạn buộc phải nhập thêm enter. - Bạn có thể giải quyết bằng cách tạo mới một đối tượng scanner
sc = new Scanner(System.in);
. - Cách nữa là hãy nhận input như một chuỗi
sc.nextLine()
và dùngInteger.parseInt()
chuyển thành kiểu int:
int numOfSv = Integer.parseInt( sc.nextLine() );
Bạn nên tránh sử dụng những method kiểu nextInt(), nextDouble(),…
3 Likes