Enjoy an ad free experience by logging in. Not a member yet? Register.

Results 1 to 3 of 3

07092012, 07:12 PM #1
 Join Date
 Jul 2011
 Posts
 19
 Thanks
 12
 Thanked 0 Times in 0 Posts
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) { print"Wrong answer, try again"; square = keyboard.nextInt(); } print"Well done, right answer" } }

07092012, 07:33 PM #2
 Join Date
 Sep 2002
 Location
 Saskatoon, Saskatchewan
 Posts
 17,025
 Thanks
 4
 Thanked 2,668 Times in 2,637 Posts
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);
.

07112012, 09:30 PM #3
 Join Date
 Jun 2012
 Posts
 15
 Thanks
 0
 Thanked 3 Times in 3 Posts
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");