DamSi

Untitled

Oct 17th, 2015
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.19 KB | None | 0 0
  1. package soccerleague;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import java.util.Random;
  6.  
  7. /**
  8.  *
  9.  * @author Damjan
  10.  */
  11. public class SoccerLeague {
  12.  
  13.     /**
  14.      * @param args the command line arguments
  15.      */
  16.     public static void main(String[] args) {
  17.         FudbalskaLiga premier = new FudbalskaLiga("Barclays Premier League - England");
  18.         FudbalskaLiga laLiga = new FudbalskaLiga("La Liga BBVA - Spain");
  19.         FudbalskiTim t1 = new FudbalskiTim("Manchester United", premier);
  20.         FudbalskiTim t2 = new FudbalskiTim("Real Madrid", laLiga);
  21.         Fudbaler r = new Fudbaler("Rooney", t1, 249);
  22.         Fudbaler t = new Fudbaler("Ronaldo", t2, 516);
  23.         Fudbaler s = new Fudbaler("Bale", t2, 204);
  24.         Fudbaler b = new Fudbaler("Romero", null, 0);
  25.         Fudbaler g = new Fudbaler("De Gea", t1, 0);
  26.  
  27.         premier.dodadiTim(t1);
  28.         laLiga.dodadiTim(t2);
  29.         t1.dodadiFudbaler(r);
  30.         t2.dodadiFudbaler(t);
  31.         t2.dodadiFudbaler(s);
  32.         t1.dodadiFudbaler(g);
  33.  
  34.         System.out.println(String.format("Najdobar strelec vo %s e %s", premier.toString(), premier.najdobarStrelec()));
  35.         System.out.println(String.format("Najdobar strelec vo %s e %s", laLiga.toString(), laLiga.najdobarStrelec()));
  36.         pecati(premier);
  37.         pecati(laLiga);
  38.         t1.kupiIgrac(b);
  39.         t1.dodadiFudbaler(b);
  40.         t2.kupiIgrac(g);
  41.         System.out.println();
  42.         t1.pecatiFudbaleri();
  43.         System.out.println();
  44.         t2.pecatiFudbaleri();
  45.         System.out.println();
  46.  
  47.     }
  48.  
  49.     static void pecati(FudbalskaLiga liga) {
  50.         liga.getTimovi().stream().forEach((tim) -> {
  51.             System.out.println(tim.toString());
  52.         });
  53.     }
  54. }
  55.  
  56. class Fudbaler {
  57.  
  58.     private String prezime;
  59.     private int brojDres;
  60.     private FudbalskiTim tim;
  61.     private int golovi;
  62.  
  63.     public Fudbaler(String prezime, FudbalskiTim tim, int golovi) {
  64.         this.prezime = prezime;
  65.         this.tim = tim;
  66.         this.golovi = golovi;
  67.         Random rand = new Random();
  68.         this.brojDres = rand.nextInt(60) + 1;//moze i do 100, ama retko koj fudbaler nosi broevi nad 60
  69.     }
  70.  
  71.     public String getPrezime() {
  72.         return prezime;
  73.     }
  74.  
  75.     public int getBrojDres() {
  76.         return brojDres;
  77.     }
  78.  
  79.     public FudbalskiTim getTim() {
  80.         return tim;
  81.     }
  82.  
  83.     public int getGolovi() {
  84.         return golovi;
  85.     }
  86.  
  87.     @Override
  88.     public String toString() {
  89.         return String.format("%s (%d)", prezime, golovi);
  90.     }
  91. }
  92.  
  93. class FudbalskiTim {
  94.  
  95.     private String ime;
  96.     private FudbalskaLiga liga;
  97.     private List<Fudbaler> fudbaleri;
  98.  
  99.     public FudbalskiTim(String ime, FudbalskaLiga liga) {
  100.         this.ime = ime;
  101.         this.liga = liga;
  102.         this.fudbaleri = new ArrayList<>();
  103.     }
  104.  
  105.     public String getIme() {
  106.         return ime;
  107.     }
  108.  
  109.     public FudbalskaLiga getLiga() {
  110.         return liga;
  111.     }
  112.  
  113.     public List<Fudbaler> getFudbaleri() {
  114.         return fudbaleri;
  115.     }
  116.  
  117.     public void dodadiFudbaler(Fudbaler f) {
  118.         if (!fudbaleri.contains(f)) {
  119.             fudbaleri.add(f);
  120.         }
  121.     }
  122.  
  123.     public void izbrisiFudbaler(Fudbaler f) {
  124.         if (fudbaleri.contains(f)) {
  125.             fudbaleri.remove(f);
  126.         }
  127.     }
  128.  
  129.     public void kupiIgrac(Fudbaler f) {
  130.         if (f.getTim() == null) {
  131.             fudbaleri.add(f);
  132.             System.out.println(String.format("Igracot %s sega e vo timot %s", f.getPrezime(), this.getIme()));
  133.         } else {
  134.             System.out.println(String.format("Ne moze da se kupi %s! Vekje igra vo %s.", f.getPrezime(), f.getTim()));
  135.         }
  136.     }
  137.  
  138.     public void pecatiFudbaleri() {
  139.         if (!fudbaleri.isEmpty()) {
  140.             fudbaleri.stream().forEach((f) -> {
  141.                 System.out.println(f.toString());
  142.             });
  143.         } else {
  144.             System.out.println(String.format("Timot %s nema fudbaleri!", this.getIme()));
  145.         }
  146.     }
  147.  
  148.     @Override
  149.     public String toString() {
  150.         return String.format("%s od liga: %s", ime, liga.getIme());
  151.     }
  152.  
  153. }
  154.  
  155. class FudbalskaLiga {
  156.  
  157.     private String ime;
  158.     private List<FudbalskiTim> timovi;
  159.  
  160.     public FudbalskaLiga(String ime) {
  161.         this.ime = ime;
  162.         this.timovi = new ArrayList<>();
  163.     }
  164.  
  165.     public void dodadiTim(FudbalskiTim t) {
  166.         if (!timovi.contains(t)) {
  167.             timovi.add(t);
  168.         }
  169.     }
  170.  
  171.     public void izbrisiTim(FudbalskiTim t) {
  172.         if (timovi.contains(t)) {
  173.             timovi.remove(t);
  174.         }
  175.     }
  176.  
  177.     public Fudbaler najdobarStrelec() {
  178.         Fudbaler najdobar = null;
  179.         for (FudbalskiTim t : timovi) {
  180.             najdobar = t.getFudbaleri().get(0);
  181.             for (Fudbaler f : t.getFudbaleri()) {
  182.                 if (f.getGolovi() > najdobar.getGolovi()) {
  183.                     najdobar = f;
  184.                 }
  185.             }
  186.         }
  187.         return najdobar;
  188.     }
  189.  
  190.     public String getIme() {
  191.         return ime;
  192.     }
  193.  
  194.     @Override
  195.     public String toString() {
  196.         return String.format("%s %d",ime,timovi.size());
  197.     }
  198.    
  199.     public List<FudbalskiTim> getTimovi() {
  200.         return timovi;
  201.     }
  202. }
Advertisement
Add Comment
Please, Sign In to add comment