Solved

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

Posted on 2011-03-24
3
410 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Octane 98 vs 95 petrol / gasoline : mileage,  pros & cons 10 179
Proportion 4 50
Whisker Plot 1 45
Calculating T-SCORE inside Excel. 3 303
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…
Have you ever thought of installing a power system that generates solar electricity to power your house? Some may say yes, while others may tell me no. But have you noticed that people around you are now considering installing such systems in their …
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

733 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