Klasy, konstruktory - konkretny przykład

0

Chcę napisać trzy klasy, w skrócie:

  1. klasa Student: (String nazwisko, int numer),
    w niej **metoda public void pokaz() **wyświetlająca dane studenta

  2. __klasa Zajecia __- w niej nrsali, cwiczeniowiec, przedmiot, uczestnicy(to powinien być Array od studentów - nie wiem czy to tak się mówi:) ),
    w niej Konstruktor public Zajecia(int pojemność, int nrsali, String cwiczeniowiec, String przedmiot)
    pojemność wyznacza maksymalną liczbę studentów na zajęciach, do czasu kiedy żaden student nie będzie zapisany na zajęcia - to pojemność danych zajęć ma być zerowa

**metoda public void pokaz() **- ma wyświetlać dane o ćwiczeniach i listę uczestników

  1. __klasa Dziekanat __- w niej poniższe metody:
    public static boolean saPelne(Zajecia z) - sprawdza, czy na zajęciach z są jeszcze wolne miejsca
    public static boolean przyjecieStudenta(Zajecia z, Student s) - przyjmuje i zapisuje na zajęcia z studenta s, jeśli są jeszcze wolne miejsca. Metoda powinna pokazywać z powrotem, czy przyjęcie na zajęcia było możliwe

Troszkę zrobiłam już, dalej nie mam pomysłów niestety. Nie wiem jak to poskładać w całość. To co mam póki co:

 public class Student{
	String nazwisko;
	int numer;
	public Student(String nazwisko, int numer){
		this.nazwisko = nazwisko;
		this.numer = numer;
	}
	public void ausgeben(){
		return (nazwisko + " " + numer);
	}
}  


public class Zajecia{
	int nrsali;
	String cwiczeniowiec;
	String przedmiot;
	String uczestnicy; ????????????
	public Zajecia( int pojemnosc = 0;, int nrsali, String cwiczeniowiec, String przedmiot ){
		this.pojemnosc;
		this.nrsali = sala;
		this.cwiczeniowiec = c;
		this.przedmiot = p;
	}
	public void pokaz(Zajecia[] z, int nrsali, String cwiczeniowiec, String przedmiot, String pojemnosc, Student[] s, String nazwisko, int numer){
		for(int i=0; i<z.length; i++)
		return z;
	}
}



public class Dziekanat{
	public static boolean saPelne( Zajecia z ){
    if (Zajecia.pojemnosc <= ???????? ){
        return true;
    }
    else
    {
        return false;
    }

	public static boolean przyjecieStudenta( Zajecia z, Student s )


Pierwsza klasa wydaje mi się być w porządku, natomiast nie wiem zupełnie jak z dziekanatem sobie poradzić i też już przy zajęciach zaczynam się plątać.
Czy mogłabym prosić o pomoc? Będę wdzięczna bardzo!
Pozdrawiam

0

Przecież wszystko masz opisane, w czym problem? o_O

 public class Student{
    private String nazwisko;
    private int numer;
    public Student(String nazwisko, int numer){
        this.nazwisko = nazwisko;
        this.numer = numer;
    }
    public void pokaz(){ //tak, mieszaj więcej języków ...
        System.out.println(nazwisko + " " + numer);
    }
}  
 
 
public class Zajecia{
    private int nrsali;
    private String cwiczeniowiec;
    private String przedmiot;
    private List<Student> uczestnicy;
    private int pojemnosc;
    public Zajecia( int pojemnosc = 0;, int nrsali, String cwiczeniowiec, String przedmiot ){
        this.pojemnosc = pojemnosc;
        this.nrsali = sala;
        this.cwiczeniowiec = c;
        this.przedmiot = p;
        this.uczestnicy = new ArrayList<Student>();
    }
    public void pokaz(){
        System.out.println(nrsali);
        System.out.println(przedmiot);
        System.out.println(cwiczeniowiec);
        for(Student s : uczestnicy){
            s.pokaz();
        }
    }
    public boolean czyPelne(){
      return uczestnicy.size() >= pojemnosc;
    }
    public boolean dodajStudenta(Student s){
        if (!czyPelne()){
          return uczestnicy.add(s);
        }else{
          return false;
        }
    }
}
 
 
 
public class Dziekanat{
    public static boolean saPelne( Zajecia z ){
        return z.czyPelne();
    } 

    public static boolean przyjecieStudenta( Zajecia z, Student s ){
        z.dodajStudenta(s);
    }
}
0

Bardzo dziękuję :)

0

a czy przypadkiem z klasy student metody pokaz nie powinien zniknąć parametr return? w końcu metoda jest typu void to co ma zwracać.
a w klasie Dziekanat metoda przyjecieStudenta powinna być typu void bo nic nie zwraca.

takie tam moje przemyślenia :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1