DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   Java (http://www.daniweb.com/forums/forum9.html)
-   -   Clarity... (http://www.daniweb.com/forums/thread60049.html)

mikki2 Oct 31st, 2006 1:01 pm
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

peter_budo Oct 31st, 2006 2:15 pm
Re: Clarity...
 
if take out +1 this will generate numbers in the interval between 0-5 inclusive

mikki2 Oct 31st, 2006 2:20 pm
Re: Clarity...
 
Thanks.

cms271828 Oct 31st, 2006 10:06 pm
Re: Clarity...
 
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.

mikki2 Nov 1st, 2006 10:25 am
Re: Clarity...
 
Thanks guys. And might i add...you guys post replies quite fast! cool!


All times are GMT -4. The time now is 6:44 am.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC