title: terminate adding elements to List in method Java
body: <p>I need to add multiple conditions to the method in the class <code>'PracownikNauk'</code>, so that I can do the following:</p>
  
  <p>1) add elements to the<code>PracownikNauk</code>, of both types like <code>Cwiczenia</code> or <code>Wyklad</code>, only if his field <code>typ</code> is <code>Wykladowca</code>, so to do that I added to my method which is called <code>dodajZajecia</code> this condition:</p>
  
  <pre><code>   public void dodajZajecia(Zajecia m) { 
  
      List &lt;Zajecia&gt; przypisane = new ArrayList &lt;Zajecia&gt;();
  
      if ((typ.equals("Prowadzacy cwiczenia")) &amp;&amp; (m instanceof Wyklad)) {
  
      System.out.println("Prowadzacy cwiczenia nie moze prowadzic wykladow"); }
  
       else { przypisane.add(m);
  
      System.out.println(m.toString() + toString()); }
  </code></pre>
  
  <p>And it works. But I also need to make a condition to the ArrayList that I cannot add more than 3 elements, but I should be able to add them just by calling my method <code>dodajZajecia</code> every time, so like adding elements one by one, and if 4th element is added  a message in console should appear that <code>3 Lessons are maximum per one Lecturer</code>. And I don't really get how to do that, as I need to simply call my method <code>dodajZajecia</code> in the <code>main</code> method.</p>
  
  <p>I will just show code from the main method so there is an idea of the algorithm:</p>
  
  <pre><code> public class Main {
  
  public static void main(String[] args) {
      Wyklad wyklad1 = new Wyklad("Programowanie w Javie", "PGJ", 1, "wyklad");
      Cwiczenia zajecia1 = new Cwiczenia("Programowanie w Javie", "PGJ", 1,         "cwiczenia");
      Wyklad wyklad2 = new Wyklad("Programowanie obiektowe", "PGO", 1, "wyklad");
      Cwiczenia zajecia2 = new Cwiczenia("Programowanie obiektowe", "PGO",1, "cwiczenia");
      Cwiczenia zajecia3 = new Cwiczenia("Technologie internetu", "TIN", 1, "cwiczenia");
      Cwiczenia zajecia4 = new Cwiczenia("Java swing","SWI",1,"cwiczenia");
  
      PracownikAdm admin1 = new PracownikAdm("Jaroslaw", "Kowal", 2000, "pracownik fizyczny");
      PracownikNauk wykladowca1 = new PracownikNauk("wykladowca","Ireneusz","Mak",2200,"magister");
      PracownikNauk wykladowca2 = new PracownikNauk("wykladowca", "Eugeniusz", "Klos", 2500, "doktor");
      PracownikNauk prCw1 = new PracownikNauk("Prowadzacy cwiczenia", "Truong", "Le",2100,"magister");
      PracownikNauk prCw2 = new PracownikNauk("Prowadzacy cwiczenia", "Mateusz", "Szerszen", 2200, "magister");
  
      Osoba [] pracownicy = new Osoba [5];
      pracownicy[0] = admin1;
      pracownicy[1] = wykladowca1;
      pracownicy[2]=  wykladowca2;
      pracownicy[3]=  prCw1;
      pracownicy[4]=  prCw2;
  
      for (Osoba pracownicy1: pracownicy) {
          pracownicy.toString();
          System.out.println(pracownicy1);
      }
  
      wykladowca1.dodajZajecia(wyklad1);
      wykladowca1.dodajZajecia(zajecia1);
      wykladowca2.dodajZajecia(zajecia2);
  
          prCw1.dodajZajecia(wyklad2);
          prCw1.dodajZajecia(zajecia1);
          prCw1.dodajZajecia(zajecia3);
  
  
          prCw1.dodajZajecia(zajecia4);
          prCw1.dodajZajecia(zajecia3);
          }
  
  
  
  }
  </code></pre>
  
  <p>So for the 4th adding of element <code>prCw1</code> there should be a message in console that <code>3 elements are maximum</code></p>
  
  <p>I tried to add <code>while</code> loop after <code>else</code> but it didn't help, adding a <code>set Size</code> but it then adds three of elements I wanted to add once to the particular <code>PracownikNauk</code>, so is there a different method to add this second condition to  the method <code>dodajZajecia</code>??</p>