Semester 1 Final Program: Coin Flip Probablity

Code

     ///Name: Mark Katz
    ///Period: 6
    ///Program Name: Semester 1 Final
    ///File Name: sem1final.java
    ///Date Finished: 1/22/16

import java.util.Random;
import java.util.Scanner;
    
public class semi1final
{
	public static void main ( String[] args )
	{
        
        Scanner keyboard = new Scanner(System.in);
        Random r = new Random();
        
        int flips; // I named this flips because it would be easy to keep track of, same with heads and tials. 
        int heads =0;
        int tails =0;
        int side=0;
        
        System.out.println( "Semester 1 Final!" );
        System.out.println( "");
        System.out.println( "How many times would you like to flip the coin? ( 1-2,100,000,000)" );
        System.out.print( ">" );
        flips = keyboard.nextInt(); // I made flips and integer because I don't want a decimal. 
        
        while ( flips < 1 || flips > 2100000000 ); ; // I did a  while loop because I can make sure the number is in between the correct two numbers, and it will check the number until it is right. 
        {
            if ( flips < 1 )
            {
                System.out.println( "That number is too small. Please input a number between 1 and 2,100,000,000" );
                flips = keyboard.nextInt();
            }
            else if ( flips > 2100000000)
            {
                System.out.println( "That number is too big. Please inpit a number between 1 and 2,100,000,000" );
            }
        }
        
        
        for ( int n=0; n < flips; n++ ) // I used a for loop so that every time the program inside it runs it will count the number of heads or tails. 
        {
            side = r.nextInt(2);
            
            if ( side == 1 )
            {
                heads ++;
            }
            else 
            {
                tails ++;
            }
            
        }
        
        double probOfHeads = 100 * ( (double)heads / flips ); // I made the probabilities doubles because they were most likely not whole numbers and I wanted a precise answer. 
        double probOfTails = 100 * ((double)tails / flips );
        
        System.out.println( "You flipped " + heads + " heads and " + tails + " tails." );
        System.out.println( "The probability of you flipping heads is " + probOfHeads + "%." );
        System.out.println( "The probability of you flipping tails is " + probOfTails + "%." );
        
        }
}

// I found that using the largest number possible, 2.1 billion, would consistantly be close to 50% each. 

    Semester 1 Final