Thắc mắc về bài tập mảng trong JAVA

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().

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ùng Integer.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?