Solved

How to write a program using this statement, int n = (int)Math.floor(Math.random()*100000+1);?

Posted on 2011-03-24
3
402 Views
Last Modified: 2012-05-11
Math
How to write a program using this statement, int n = (int)Math.floor(Math.random()*100000+1);?



lass GuessingGame {  

     public static void main(String[] args) {      

         int n = (int)Math.floor(Math.random()*100000+1);  

         int sum = 0;  

         int digit;  

         number = x;  

         digit = x % 10;  

         sum += digit;  

         x = x/10;  

         digit = x % 10;  

         sum += digit;  

         x = x/10;  

         digit = x % 10;  

         sum += digit;  

         x = x/10;  

         digit = x % 10;  

         sum += digit;  

         System.out.println("Given number= "+number+"; sum of digits = "+sum);  

     }  

 }
0
Comment
Question by:waltbaby315
3 Comments
 

Author Comment

by:waltbaby315
ID: 35212123
hi
0
 
LVL 9

Accepted Solution

by:
TBK-Consulting earned 500 total points
ID: 35212310
what exactly are you trying to accomplish?  Have the computer guess a number that the user randomly chose between 1 and 100,000??? if so - I'd have it do the following - (pseudo-coded as I am not good with languages)

Get Random Number between 2 and 100,000 and store in Guess
Set Low Guess = 0
Set High Guess = 100001
Start Loop
     Ask User if Guess is correct and ask for lower or higher
     If higher
          move guess to low guess
          if guess + 100 <  high guess
               add 100 to guess goto start loop
          else if guess +10 < high guess
              add 10 to guess goto start loop
              else add 1 to guess goto start loop
     if lower
          move guess to high guess
          if guess - 100 > low guess
               subtract 100 from guess goto start loop
          else if guess - 10 > low guess
               subtract 10 from guess goto start loop
               else subtract 1 from guess goto start loop
End Loop


NOTE - the more nested if's you put in the faster the program should get to the correct number.
0
 
LVL 37

Expert Comment

by:TommySzalapski
ID: 35234565
Your program is fine (well, it has errors), but you should really use a loop. Like this:
   public static void main(String[] args) 
   {      
 
         int n = (int)Math.floor(Math.random()*100000+1);  

         int sum = 0;  

         int digit;  

         int x = n;  

         while(x > 0)
         {
            digit = x % 10;  
            x /= 10;
            sum += digit;  
         }
         System.out.println("Given number= "+number+"; sum of digits = "+sum);  

     }  

Open in new window

0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Complex Numbers are funny things.  Many people have a basic understanding of them, some a more advanced.  The confusion usually arises when that pesky i (or j for Electrical Engineers) appears and understanding the meaning of a square root of a nega…
Article by: Nicole
This is a research brief on the potential colonization of humans on Mars.
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
This is a video describing the growing solar energy use in Utah. This is a topic that greatly interests me and so I decided to produce a video about it.

919 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now