private void evaluate()
    {
        Stack mystack = new ListStack(); //maak een nieuwe stack aan
        StringTokenizer st = new StringTokenizer(invoerString); //breek de string in stukje obv spaties
        while (st.hasMoreTokens()) //zolang er nog tokens inzitten
        {
            String token = st.nextToken(); //vraag het token op bijv een getal of een operator
            char eerste =  token.charAt(0);// het eerste karakter van elk token
            if (( eerste >= '0') && (eerste <= '9')) //het gaat om een getal en niet om een operator
            {
                mystack.push(eerste); // zie algoritme - stop getal in de stack
            }
            else
            {
                int v1 = Integer.parseInt(mystack.pop().toString());  // uit de stack halen dit is onze L in LWR -  poppen en omzetten van een String naar int
                int v2 = Integer.parseInt(mystack.pop().toString()); // uit stack halen dit is onze R in LWR
                int result = 0; //resultaat is voor berekenen 0
                switch (eerste)
                {
                    case '+' : result = v1 + v2; //als + dan optellen
                        break;
                    case '*' : result = v1 * v2;
                        break;
                    case '-' : result = v1 - v2;
                        break;
                }
                mystack.push(result); // stop resultaat in de stack om verder te gebruiken -  wat doe je met het resultaat? zie algoritme
            }
        }
        resultaat = Integer.parseInt(mystack.pop().toString()); // als alles goed is gegaan resultaat
    }                       // poppen en omzetten naar een int