01/10/2018, 11:42

Thắc mắc về thêm 1 phần tử vào mảng trong Java?

Chào các anh/chị, em đang viết hàm thêm 1 sinh viên vào mảng. Em đang thắc mắc cái vòng lặp for này nó chạy kiều gì vậy ạ, count = 0 thì nó tăng lên khi nào? ở dưới có count++ nhưng lúc đó ra khỏi vòng lặp rồi. Hay là mình gọi hàm này trong hàm Main được bao nhiêu count rồi nó mới chạy vòng lặp for??
Em cám ơn!

private int count;
	private SinhVien[] ds;
	public DanhSachSinhVien(int n) {
		ds = new SinhVien[n];
		count = 0;
	}
	public boolean ThemSV(SinhVien sv) {

		for(int i = 0; i < count; i++)
		{
			if(ds[i].getmSV() == sv.getmSV())
				return false;
		}

		if(ds.length == count)
			return false;

		ds[count] = sv;
		count++;

		return true;
	}
Pham Van Hai viết 13:44 ngày 01/10/2018
  • count chỉ tăng lên mỗi khi có sinh viên thêm vào.
  • vòng for chỉ có tác dụng kiểm tra mã SV có bị trùng khi thêm sinh viên không. count = 0 tức là chưa có sv nào thì vòng for chạy làm gì.
Phan Vũ viết 13:57 ngày 01/10/2018

tức là khi nào mình gọi hàm thêm sinh viên này trong hàm main thì count nó mới tăng lên phải k ạ? mình gọi 3 lần thì count = 3 đúng k?

INfo viết 13:45 ngày 01/10/2018

Chào các anh/chị, em đang viết hàm thêm 1 sinh viên vào mảng. Em đang thắc mắc cái vòng lặp for này nó chạy kiều gì vậy ạ, count = 0 thì nó tăng lên khi nào? ở dưới có count++ nhưng lúc đó ra khỏi vòng lặp rồi. Hay là mình gọi hàm này trong hàm Main được bao nhiêu count rồi nó mới chạy vòng lặp for??

for(int i = 0; i < count; i++)
{
if(ds[i].getmSV() == sv.getmSV())
return false;
}
Vòng này là để check sv có mã trùng nhau trong ds
if(ds.length == count)
return false;
Cái này chek độ dài mảng sv
ds[count] = sv;//Thêm sv
count++; //tăng số lượng sinh viên

	return true;//trả về thêm thành công
Bài liên quan
0