How to check if an integer is a perfect square

Brooke picture Brooke · Dec 3, 2015 · Viewed 35.6k times · Source

How could I write an if-then statement that checks if an inputted integer is a perfect square or not (i.e. if I took the square root, it would be an integer as well: 4, 9, 16, 25, 36, etc.) in DrJava? Thank you!

Answer

Jaskaranbir Singh picture Jaskaranbir Singh · Dec 3, 2015

I am aware that this question already has an answer.... But just in case, this also works.

int x = (int) Math.sqrt(input);
if(Math.pow(x,2) == input)
    //Do stuff