Witam,
próbuję zaimplementować tablicę obiektów, której rozmiar nie jest znany podczas tworzenia klasy. Walczę z tym już parę godzin i nie daję rady, zawsze program wysypuje mi się w innym momencie. Chcę zrobić klasę Studenci, która zawiera tablicę obiektów Student. Biorę pod uwagę dwie opcje. Jeśli wywołam pierwszy konstruktor, tablica ma rozmiar 20, jeśli drugi, ma rozmiar podany jako parametr.
public class Student {
// jakis kod
}
public class Studenci {
int rozmiar;
public Student[] studenci= new Student[rozmiar];
public Studenci() {
this.arraySize = 20;
}
public Studenci(int size) {
this.rozmiar= size;
}
}
Sposób powyżej się kompiluje, ale przy wywoływaniu metod wywala się przy próbie porównania obiektu do null (kompilator nie pokazuje jakieś sensownego błędu):
for (int i = 0; i<studenci.length; i++) {
if(studenci[i] == null) {
studenci[i] = student;
}
}
Moim zdaniem problemem jest niepoprawnie zadeklarowana tablica na początku. Jak powinno się ją prawidłowo zadeklarować?