The size of the desired range is 11 (-5 to +5), so the parameter to nextInt()
is 11.
The minimum value of the desired range is -5, so add that to the expression:
val = rand.nextInt(11)-5;
The minimum of the values that nextInt(11)
returns is 0;
adding -5 to that gives the mimimum of the range we want.
Here is a run of the die-tossing program:
K:\cai\>java DieToss You toss a 2 You toss a 1 You toss a 4 You toss a 4 You toss a 6 You toss a 5 You toss a 3 You toss a 2Exception in thread "main" java.util.NoSuchElementException: No line found at java.util.Scanner.nextLine(Unknown Source) at DieToss.main(DieToss.java:15)
The user hit control-C to end the program.
(Thought Question: ) You want to simulate the toss of two dice. Do you need two random number generators?