[quote=@DarkwolfX37] Well for one, you might be better off getting the length and width in the same place. Secondly, this might be a different thing with java than I learned, but personally I'd put "width * 2" and "length * 2" instead of "2*width" and "2*length". Not really a problem per say unless java has a hard time with the way you put it. Third, you're defining length and width as 0. Instead of "templength" and "tempwidth" I'd suggest creating new variables and pulling those instead of trying to apply them back to length and width. Fourth, it could be an issue of order. Having Rectangle(double length, double width) after defining them as zero could be the problem. Again, I suggest new variables entirely than ones you've already used. But since I'm not much for Java I bet none of this is applicable. [/quote] It's because static methods. They have to be instance methods because otherwise, the class looks at static variables length and width. I mean, you could technically pass this into the static method as a parameter, but that's super convoluted. Otherwise, the static method has absolutely no way to see instances of your class.