Pythagorean Theorem in Java
I did not check the acm package but my 2 cents:

No need to instantate a PythagoreanTheorem each time

public void run() {
    PythagoreanTheorem myCalculator = new PythagoreanTheorem();


run is not static, so there already is an instance of PythagoreanTheorem availiable in the method, referencable by this.

So instead of:

if(myCalculator.formula(a,b) == 


You can use 

if(this.formula(a,b) ==


Reuse results

You have a few calls to myCalculator.formula(a,b). While a and b do not change. You can store the result in a variable.

double c = myCalculator.formula(a,b)
if(c == Math.floor(c)) 
....