Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 3 of 3
  1. #1
    New Coder
    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"
     }
    }

  • #2
    God Emperor Fou-Lu's Avatar
    Join Date
    Sep 2002
    Location
    Saskatoon, Saskatchewan
    Posts
    16,987
    Thanks
    4
    Thanked 2,660 Times in 2,629 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);.

  • #3
    New Coder
    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");


  •  

    Posting Permissions

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