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
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?