A Guide to Programming in Java

Chapter 7
Top-Down Development
 Problem-solving approach
 Breaking a task down into smaller subtasks
 First level of subtasks translates into the main()
method
 Levels of tasks below main() are developed into a
series of additional methods
Slide 1
© 2007 Lawrenceville Press
Chapter 7
Using Methods
 Used to implement a specific task
 Methods must be part of a class
 A main() method defines the first level of subtasks
with calls to methods that implement the subtasks
 Using methods to define tasks is called procedural
abstraction
Slide 2
© 2007 Lawrenceville Press
Chapter 7
A Method
public static void fahrenheitToCelsius() {
double fTemp, cTemp;
Scanner input = new Scanner(System.in);
body
System.out.println("Enter a Fahrenheit temperature: ");
fTemp = input.nextDouble();
input.close;
cTemp = (double)5/(double)9 * (fTemp - 32);
System.out.println("The Celsius temperature is "+cTemp);
}
Slide 3
© 2007 Lawrenceville Press
Chapter 7
Method Parameters
 A method can have parameters for accepting values
from a calling statement
 Parameters are used inside the method to perform
the method's task
 The data passed to a method are called arguments
 The drawBar() method declaration has one
parameter named length:
public static void drawBar(int length)
Slide 4
© 2007 Lawrenceville Press
Chapter 7
Pass by Value
 In Java, arguments are passed by value
 A primitive data type gives the method a copy of its
value. The method does not have access to the
original data.
 An object gives the method a copy of its reference
that points to methods for changing object data. A
method can change the data stored in an object
because the method has access to the object's
methods.
Slide 5
© 2007 Lawrenceville Press
Chapter 7
Multiple Parameters
 A method can have multiple parameters
 Multiple parameters must be separated by commas
 The order of the arguments passed must match the
order of the parameters
 The modified drawBar() method declaration has two
parameters:
public static void drawBar(int length, String mark)
Slide 6
© 2007 Lawrenceville Press
Chapter 7
Method Overloading
 More than one method of the same name can be
included in a class
 The compiler uses the types, order, and number of
parameters to determine which method to execute
Slide 7
© 2007 Lawrenceville Press
Chapter 7
The return Statement
 A return statement is used to send a value back to
the calling statement
 A return statement can return only one value
 A method that returns a value must include the
return type in the method declaration. For example,
the cubeOf() method returns a double:
public static double cubeOf(double x)
 A method that returns a value is called from a
statement that will make use of the returned value.
For example:
cube = cubeOf(num);
Slide 8
© 2007 Lawrenceville Press
Chapter 7
Documenting Methods
 Methods should be carefully commented so that a
reader of the program understands what task the
method is performing and what data, if any, will be
returned by the method
 Method documentation should appear just above a
method
 Documentation should include a brief description of
the method, any preconditions, and the
postcondition
Slide 9
© 2007 Lawrenceville Press
Chapter 7
Preconditions and Postconditions
 The precondition states what must be true at the
beginning of a method for the method to work
properly.
 The postcondition states what must be true after the
method has executed if the method has worked
properly.
 Preconditions and postconditions should not state
facts that the compiler will verify. They should also
not refer to variables or information outside the
method.
 The postcondition should not state how the method
accomplished its task.
Slide 10
© 2007 Lawrenceville Press
Chapter 7
The GradeConverter Flowchart
Slide 11
© 2007 Lawrenceville Press