954,190 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Clarity...

hi just have a question to make sure i understand it. i'm doing the exercises in my book and it says i should create a program which will roll 2 dice and produce a random number then adds the sum of the outcomes.

public class RollDice
{
    /* This program simulates rolling a pair of dice.
        The number that comes up on each die is output,
        followed by the total of the two dice.
    */
    
    public static void main (String[] args)
    {
        int die1;    //The number on the first die.
        int die2;    //The number on the second die.
        int roll;    //The total roll (sum of the two dice).
        
        die1 = (int) (Math.random() *6) + 1;
        die2 = (int) (Math.random() *6) + 1;
        roll = die1 + die2;
        
        System.out.println("The first die comes up " + die1);
        System.out.println("The second die comes up " + die2);
        System.out.println("Your total roll is " + roll);
        
    }    //end man()
}    //end of class


now this is all okay but when i remove the +1 there isnt any difference. i just want to know if removing the +1 will cause any problem on the program. if not...how about if i'm writing a longer program, will there be any implication?

Thanks

mikki2
Junior Poster in Training
68 posts since May 2006
Reputation Points: 10
Solved Threads: 1
 

if take out +1 this will generate numbers in the interval between 0-5 inclusive

peter_budo
Code tags enforcer
Moderator
15,433 posts since Dec 2004
Reputation Points: 2,806
Solved Threads: 901
 

Thanks.

mikki2
Junior Poster in Training
68 posts since May 2006
Reputation Points: 10
Solved Threads: 1
 

Yeh, thats right, to be precise...
Math.random() generates a number between 0 and 1 inclusive, the chance of getting 0 or 1 is almost 0 though.
so suppose you wanted 1 to 6, first you mulitply by 6,
this gives you a number in the range 0-6, eg 5.92367236746.
Then converting to an int, will always give you either 0,1,2,3,4,5.
So just add 1, to get 1 to 6.

cms271828
Junior Poster
123 posts since Oct 2006
Reputation Points: 20
Solved Threads: 4
 

Thanks guys. And might i add...you guys post replies quite fast! cool!

mikki2
Junior Poster in Training
68 posts since May 2006
Reputation Points: 10
Solved Threads: 1
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You