The calculateMPG()
method can not use the parameters of the constructor.
In fact, the calculateMPG()
method can not even see the parameters
of the constructor.
Another way of saying this is that the scope of
the parameters is limited to the body of the method.
The compiler will complain that first, last,
and gals
are "undefined variables"
because they are used outside of their scope.
Look back to the
complete program
to see the correct method.
import java.io.* ; class Car { // instance variables int startMiles; // Stating odometer reading int endMiles; // Ending odometer reading double gallons; // Gallons of gas used between the readings // constructor Car( int first, int last, double gals ) { startMiles = first ; endMiles = last ; gallons = gals ; } // methods double calculateMPG() { return (last - first)/gals ; // WRONG, WRONG, WRONG } } class MilesPerGallon { public static void main( String[] args ) { Car car = new Car( 32456, 32810, 10.6 ); System.out.println( "Miles per gallon is " + car.calculateMPG() ); } }