Go Back   CodingForums.com > :: Server side development > Java and JSP

Before you post, read our: Rules & Posting Guidelines

Reply
 
Thread Tools Rate Thread
Enjoy an ad free experience by logging in. Not a member yet? Register.
Old 07-09-2012, 06:12 PM   PM User | #1
laylo
New Coder

 
Join Date: Jul 2011
Posts: 19
Thanks: 12
Thanked 0 Times in 0 Posts
laylo is an unknown quantity at this point
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"
 }
}
laylo is offline   Reply With Quote
Old 07-09-2012, 06:33 PM   PM User | #2
Fou-Lu
God Emperor


 
Fou-Lu's Avatar
 
Join Date: Sep 2002
Location: Saskatoon, Saskatchewan
Posts: 15,662
Thanks: 4
Thanked 2,452 Times in 2,421 Posts
Fou-Lu is a name known to allFou-Lu is a name known to allFou-Lu is a name known to allFou-Lu is a name known to allFou-Lu is a name known to allFou-Lu is a name known to all
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);.
Fou-Lu is offline   Reply With Quote
Old 07-11-2012, 08:30 PM   PM User | #3
michaelh73
New Coder

 
Join Date: Jun 2012
Posts: 15
Thanks: 0
Thanked 3 Times in 3 Posts
michaelh73 is an unknown quantity at this point
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");
michaelh73 is offline   Reply With Quote
Reply

Bookmarks

Jump To Top of Thread


Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 04:55 PM.


Advertisement
Log in to turn off these ads.