This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
Also, we have a "CODE" tag, that can be created by clicking the CODE button, which is located under the "Add Reply" button, along with URL, BOLD, etc. buttons
This tag will enable you to keep your formatting for your code, like indentation, and makes your code readable. The way your code is posted makes it difficult to read, and therefore, more difficult for us to help you.
The call to md.Operations() is in an anonymous Runnable class. The parameters you're passing are local variables in the surrounding methods. Under these circumstances, Java requires that such variables be "final", so making "a" and "b" final will fix that compile error.
Now, there are several other major things I want to tell you about. First of all, Integer.parseInt() will report failure by throwing a NumberFormatException; you really need to catch those instead of simply trusting that the input parameters are OK.
The second one is that Java has a firmly entrenched, but simple, set of naming conventions. Don't capitalize method names like "Operations" -- method namesand variable names should always start with a lower-case letter, while class names should always start with an upper-case letter.
Thirdly, don't ever, ever, compare Strings using the "==" operator; even if it seems to work, relatively minor changes to a program can make it stop working. Instead, use the equals() method to do the comparison --