3.9. Using the Math Class¶
We covered how to use the methods of the Math
class back in unit √2
including how to generate random numbers in various ranges. You may want to look
back at that Unit before attempting these programming challenges.
3.9.1. Programming Challenge : Random Numbers¶
You may have a combination lock on your locker at school where you have to spin the dial to 3 separate numbers from 0 to 39. What if you forgot your combination? Would you be able to guess it?
Write code that will generate 3 random integers from 0 to 39 using
Math.random()
in the Active Code window below. Run it a couple times to see it generate different numbers.How many times would you need to run it to guess your combination correctly? Let’s have the code compute the number of permutations possible in your combination lock using
Math.pow(number, exponent)
. For example, if you had 2 dials on your combination lock where each dial can be set to a digit from 0-9 (10 digits), there are 102 possible permutations. In Java, this would be written asMath.pow(10, 2)
which means 10 to the power of 2. If you start listing all the permutations possible, you can tell that there are 102 or 100 possible permutations for a 2 dial lock from 0-9.
00, 01, 02, 03, 04, 05, 06, 07, 08, 09 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 ... 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
Now what about the combination lock for this challenge? You have to spin the dial to one of 40 possible numbers (0 to 39) three times. In general, the formula to use is NumbersOnDialnumbersInCombination. Write this using the Math.pow() method in your code and save it into a variable and print out.
Complete the combination lock challenge below.
Here’s another challenge that is a lot of fun! Can you use random numbers to make dancing turtles? This idea was suggested by CSA teacher Zac Martin.
Complete the random numbers using Math.random() in the correct ranges to choose x, y coordinates and random color in the range of 0-255 for the turtle. Put on some music and watch your turtle dance!