Hello and welcome to our community! Is this your first visit?
Enjoy an ad free experience by logging in. Not a member yet? Register.

# Thread: Program to allow user to guess the square of a number that is entered

1. ## Program to allow user to guess the square of a number that is entered

Now this is still early in a chapter of a java book im reading so i just know the basic concepts of programming. please keep your answers as simple as possible.

in this question im not sure what the missing line of code is in the comment:-
Code:
```import java.util.*;
public class Iterationq7
public static void main(String[] args)
{
int num, square;
Scanner keyboard = new Scanner(System.in);
print"Enter a number";
num = keyboard.nextInt();

print"Enter the square of this number"
square = keyboard.nextInt();

while(//test to be completed)
{
square = keyboard.nextInt();
}

}
}```

• You need to use a comparative operation between the square of the num and square. The alternative (IMO better) would be to square the square and compare that to the num.

For primitives, you can use direct comparisons. See this tutorial for more information: http://docs.oracle.com/javase/tutori...bolts/op2.html

And for mathematics, see the Math class in java.lang.Math here: http://docs.oracle.com/javase/6/docs...lang/Math.html

Note the accepted types and most particularly the return types of both the sqrt and the pow functions to make your comparisons. This is why I suggest comparing the square of your square instead of the square root of your number. Doing the square of your square guarantees an even integer cast on the result (for which you can even do a simple square * square as these are both integers already), whilst going the other way results in a double, even if the result is evenly divisible. So doing `(int)x * (int)x` is equivalent to doing `(int)Math.pow(x, 2);`.

• Yea, so in your case you can do put in the while loop

while((num*num)!=square){
..
}

also I don't think print is a function that works alone... it should be

System.out.println("text here");

•

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•