Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package soccerleague;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Random;
- /**
- *
- * @author Damjan
- */
- public class SoccerLeague {
- /**
- * @param args the command line arguments
- */
- public static void main(String[] args) {
- FudbalskaLiga premier = new FudbalskaLiga("Barclays Premier League - England");
- FudbalskaLiga laLiga = new FudbalskaLiga("La Liga BBVA - Spain");
- FudbalskiTim t1 = new FudbalskiTim("Manchester United", premier);
- FudbalskiTim t2 = new FudbalskiTim("Real Madrid", laLiga);
- Fudbaler r = new Fudbaler("Rooney", t1, 249);
- Fudbaler t = new Fudbaler("Ronaldo", t2, 516);
- Fudbaler s = new Fudbaler("Bale", t2, 204);
- Fudbaler b = new Fudbaler("Romero", null, 0);
- Fudbaler g = new Fudbaler("De Gea", t1, 0);
- premier.dodadiTim(t1);
- laLiga.dodadiTim(t2);
- t1.dodadiFudbaler(r);
- t2.dodadiFudbaler(t);
- t2.dodadiFudbaler(s);
- t1.dodadiFudbaler(g);
- System.out.println(String.format("Najdobar strelec vo %s e %s", premier.toString(), premier.najdobarStrelec()));
- System.out.println(String.format("Najdobar strelec vo %s e %s", laLiga.toString(), laLiga.najdobarStrelec()));
- pecati(premier);
- pecati(laLiga);
- t1.kupiIgrac(b);
- t1.dodadiFudbaler(b);
- t2.kupiIgrac(g);
- System.out.println();
- t1.pecatiFudbaleri();
- System.out.println();
- t2.pecatiFudbaleri();
- System.out.println();
- }
- static void pecati(FudbalskaLiga liga) {
- liga.getTimovi().stream().forEach((tim) -> {
- System.out.println(tim.toString());
- });
- }
- }
- class Fudbaler {
- private String prezime;
- private int brojDres;
- private FudbalskiTim tim;
- private int golovi;
- public Fudbaler(String prezime, FudbalskiTim tim, int golovi) {
- this.prezime = prezime;
- this.tim = tim;
- this.golovi = golovi;
- Random rand = new Random();
- this.brojDres = rand.nextInt(60) + 1;//moze i do 100, ama retko koj fudbaler nosi broevi nad 60
- }
- public String getPrezime() {
- return prezime;
- }
- public int getBrojDres() {
- return brojDres;
- }
- public FudbalskiTim getTim() {
- return tim;
- }
- public int getGolovi() {
- return golovi;
- }
- @Override
- public String toString() {
- return String.format("%s (%d)", prezime, golovi);
- }
- }
- class FudbalskiTim {
- private String ime;
- private FudbalskaLiga liga;
- private List<Fudbaler> fudbaleri;
- public FudbalskiTim(String ime, FudbalskaLiga liga) {
- this.ime = ime;
- this.liga = liga;
- this.fudbaleri = new ArrayList<>();
- }
- public String getIme() {
- return ime;
- }
- public FudbalskaLiga getLiga() {
- return liga;
- }
- public List<Fudbaler> getFudbaleri() {
- return fudbaleri;
- }
- public void dodadiFudbaler(Fudbaler f) {
- if (!fudbaleri.contains(f)) {
- fudbaleri.add(f);
- }
- }
- public void izbrisiFudbaler(Fudbaler f) {
- if (fudbaleri.contains(f)) {
- fudbaleri.remove(f);
- }
- }
- public void kupiIgrac(Fudbaler f) {
- if (f.getTim() == null) {
- fudbaleri.add(f);
- System.out.println(String.format("Igracot %s sega e vo timot %s", f.getPrezime(), this.getIme()));
- } else {
- System.out.println(String.format("Ne moze da se kupi %s! Vekje igra vo %s.", f.getPrezime(), f.getTim()));
- }
- }
- public void pecatiFudbaleri() {
- if (!fudbaleri.isEmpty()) {
- fudbaleri.stream().forEach((f) -> {
- System.out.println(f.toString());
- });
- } else {
- System.out.println(String.format("Timot %s nema fudbaleri!", this.getIme()));
- }
- }
- @Override
- public String toString() {
- return String.format("%s od liga: %s", ime, liga.getIme());
- }
- }
- class FudbalskaLiga {
- private String ime;
- private List<FudbalskiTim> timovi;
- public FudbalskaLiga(String ime) {
- this.ime = ime;
- this.timovi = new ArrayList<>();
- }
- public void dodadiTim(FudbalskiTim t) {
- if (!timovi.contains(t)) {
- timovi.add(t);
- }
- }
- public void izbrisiTim(FudbalskiTim t) {
- if (timovi.contains(t)) {
- timovi.remove(t);
- }
- }
- public Fudbaler najdobarStrelec() {
- Fudbaler najdobar = null;
- for (FudbalskiTim t : timovi) {
- najdobar = t.getFudbaleri().get(0);
- for (Fudbaler f : t.getFudbaleri()) {
- if (f.getGolovi() > najdobar.getGolovi()) {
- najdobar = f;
- }
- }
- }
- return najdobar;
- }
- public String getIme() {
- return ime;
- }
- @Override
- public String toString() {
- return String.format("%s %d",ime,timovi.size());
- }
- public List<FudbalskiTim> getTimovi() {
- return timovi;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment