Đề bài yêu cầu đọc sinh viên từ file INPUT.txt và hiển thị thông tin sinh viên, sinh viên gồm tên và mã sv, file INPUT chỉ chứa tên sinh viên, còn mã sv thì tự động tăng, bắt đầu từ 1.
E chưa hiểu sao em làm mà nó bị sai chỗ mã sinh viên tự động tăng, và chưa biết sửa thế nào, mong m.n giúp
đây là class SinhVien
public class SinhVien {
private static int maSV = 0;
private String tenSV;
public SinhVien() {
maSV++;
}
public void nhap(Scanner sc){
tenSV = sc.nextLine();
}
@Override
public String toString() {
return maSV + " " + tenSV + "\n";
}
}
đây là class Main
public class Main {
public static void main(String[] args) throws FileNotFoundException {
ArrayList<SinhVien> ds = new ArrayList<>();
Scanner sc = new Scanner(new File("INPUT.txt"));
while(sc.hasNextLine()){
SinhVien sv = new SinhVien();
sv.nhap(sc);
ds.add(sv);
}
for(SinhVien sv: ds){
System.out.println(sv.toString());
}
}
}
Nội dung file INPUT.txt
nguyen van a
nguyen van b
nguyen van c
nguyen van s
nguyen van d
nguyen van f
nguyen van g
nguyen van h
nguyen van j
kết quả nếu chạy đúng là:
1 nguyen van a
2 nguyen van b
3 nguyen van c
4 nguyen van s
5 nguyen van d
6 nguyen van f
7 nguyen van g
8 nguyen van h
9 nguyen van j
nhưng code trên thì nó lại ra thế này
9 nguyen van a
9 nguyen van b
9 nguyen van c
9 nguyen van s
9 nguyen van d
9 nguyen van f
9 nguyen van g
9 nguyen van h
9 nguyen van j