public class FunctionExamples
{
    public static void main(String[] args)
    {
//[actualParameters.
       double       fuelUsed;
       double       milesDriven;
       double       mpg;
       

       fuelUsed    = 20.0;
       milesDriven = 643.5;
       mpg         = fuelPerformance(milesDriven, fuelUsed);       
//]actualParameters.

//[noParameters.
       double       fuelUsed;
       double       milesDriven;
       double       mpg;
       

       fuelUsed    = 20.0;
       milesDriven = 643.5;
       mpg         = fuelPerformance();       
//]noParameters.


//[fuelUseReporter.    
       double       fuelUsed;
       double       milesDriven;
       double       mpg;

       fuelUsed    = 20.0;
       milesDriven = 643.5;

       fuelPerformance(milesDriven, fuelUsed);

       // What happens if you try to do this? Why?
       mpg = result;       
//]fuelUseReporter.    
    }
    


//[circleArea.    
    public static double circleArea(double diameter)
    {
       double    pi;
       double    radius;
       double    result;
       
       pi     = 3.1415926;
       radius = diameter / 2.0;
       
       result = pi * (radius * radius);
       
       return result;       
    }
//]circleArea.    
    


//[fuelPerformance.
    public static double fuelPerformance(double miles, double gallons)
    {
       double     result;
       
       result = miles / gallons;
       
       return result;       
    }    
//]fuelPerformance.



//[scope1.
    public static double fuelPerformance()
    {
       double     result;
       
       // What happens if you try to do this? Why?
       result = milesDriven / fuelUsed;
       
       return result;       
    }    
//]scope1.



//[scope2.
    public static double fuelPerformance(double milesDriven, double fuelUsed)
    {
       double     result;
       
       result = milesDriven / fuelUsed;

       // What happens when you do this? Why?
       milesDriven = 0.0;
       
       return result;       
    }    
//]scope2.


}
