// Asocjacja N-arna import java.util.*; public class AsocjacjaNArna { public static void main(String[] args) { Rok rok = new Rok("2003"); Zespol zespol1 = new Zespol("Legia Warszawa"), zespol2 = new Zespol("FC Barcelona"); Vector gracze = new Vector(); for(int i = 0; i < 22; i++) gracze.add(new Gracz("Zawodnik nr " + (i+1))); Mecz mecz = new Mecz(rok,zespol1, zespol2, gracze); // System.out.println(mecz); // zespol1.pokazMecze(); // ((Gracz)gracze.get(10)).pokazMecze(); rok.pokazMecze(); System.exit(0); } } class Zespol{ private String nazwa; private Vector mecze; public Zespol(String nzw){ nazwa = nzw; mecze = new Vector(); } public void pokazMecze() { System.out.println("Zespol " + nazwa + " zagral mecze:"); for(int i = 0; i < mecze.size(); i++) System.out.println((Mecz)mecze.get(i)); } public void addMecz(Mecz m) { mecze.add(m); } public String toString(){ return nazwa; } } class Gracz{ private String nazwisko; private Vector mecze; public Gracz(String nzw){ nazwisko = nzw; mecze = new Vector(); } public void addMecz(Mecz m) { mecze.add(m); } public void pokazMecze() { System.out.println(nazwisko + " zagral mecze:"); for(int i = 0; i < mecze.size(); i++) System.out.println((Mecz)mecze.get(i)); } public String toString(){ return nazwisko; } } class Rok{ private String rok; private Vector mecze; public Rok(String r){ rok = r; mecze = new Vector(); } public void addMecz(Mecz m) { mecze.add(m); } public void pokazMecze() { System.out.println("W roku " + rok + " rozegrano mecze:"); for(int i = 0; i < mecze.size(); i++) System.out.println((Mecz)mecze.get(i)); } public String toString(){ return rok; } } class Mecz{ private Rok rok; private Vector zespoly; private Vector gracze; public Mecz(Rok r, Zespol z1, Zespol z2, Vector gr){ rok = r; r.addMecz(this); zespoly = new Vector(); zespoly.add(z1); z1.addMecz(this); zespoly.add(z2); z2.addMecz(this); gracze = new Vector(); gracze = gr; for (int i = 0; i < gracze.size(); i++) ((Gracz)gracze.get(i)).addMecz(this); } public String toString(){ String s = "Mecz:\nRok " + rok + "\nDruzyny : " + zespoly + "\nZawodnicy :\n" + gracze; return s; } }