51
Java Programming, 3e Concepts and Techniques Chapter 4 Decision Making and Repetition with Reusable Objects

Java Programming, 3e Concepts and Techniques Chapter 4 Decision Making and Repetition with Reusable Objects

  • View
    222

  • Download
    0

Embed Size (px)

Citation preview

Java Programming, 3eConcepts and Techniques

Chapter 4Decision Making and

Repetition with Reusable Objects

2Chapter 4: Decision Making and Repetition with Reusable Objects

Chapter Objectives

• Design a program using methods

• Code a selection structure to make decisions in code

• Describe the use of the logical AND, OR, and NOT operators

• Define exceptions and exception handling

3Chapter 4: Decision Making and Repetition with Reusable Objects

Chapter Objectives

• Code a try statement and a catch statement to handle exceptions

• Create a user-defined method

• Code a repetition structure using the while statement

• Write a switch statement to test for multiple values in data

4Chapter 4: Decision Making and Repetition with Reusable Objects

Chapter Objectives

• Format numbers using a pattern and the format() method

• Construct a Color object

• Use a Checkbox and a CheckboxGroup in the user interface

5Chapter 4: Decision Making and Repetition with Reusable Objects

Introduction

• Control structures alter the sequential execution of code– Selection structure– Repetition structure

• User-defined methods break tasks into reusable sections of code

• Exception handling in Java allows for the testing of valid and accurate input

6Chapter 4: Decision Making and Repetition with Reusable Objects

The Sales Commission Program

• Calculate sales commission for agents in a travel agency

• Coded as a console application and an applet• Input

– The user chooses from three types of commission codes

• The commission code identifies the type of sale and the commission rate

– The user enters a sales amount

• Calculate commission and display output

7Chapter 4: Decision Making and Repetition with Reusable Objects

8Chapter 4: Decision Making and Repetition with Reusable Objects

Program Development

• Problem analysis– Each user decision corresponds to a program task– Develop and test each task before adding it to the

program

• Design the solution– Design storyboards for the two user interfaces

• Program design– Design a flowchart consisting of required methods– Write related pseudocode for each method

• Validate Design

9Chapter 4: Decision Making and Repetition with Reusable Objects

10Chapter 4: Decision Making and Repetition with Reusable Objects

Coding the Program

• Code the program using program stubs – Stubs are incomplete portions of code that serve as a

template or placeholder for later code– Stubs allow ease in debugging through incremental

compilation and testing

• Import java.swing.JOptionPane• Import java.text.DecimalFormat

– Formats decimal output into Strings

• Declare variables• Compile and test the program stub

11Chapter 4: Decision Making and Repetition with Reusable Objects

Coding the Program

12Chapter 4: Decision Making and Repetition with Reusable Objects

Writing Methods

• A program with modules allows for clarity, reusability, and refinement

• The code for each module can be separated into programmer-defined methods

• The main() method transfers execution to the methods through a call statement

• The called method returns control to its caller with the return statement or the ending brace– The return statement returns any required data back

to the calling method

13Chapter 4: Decision Making and Repetition with Reusable Objects

14Chapter 4: Decision Making and Repetition with Reusable Objects

The if…else Statement

• Single: line 30, line 31• Block: lines 15-27, lines 19-20, lines 24-25• Nested: lines 17-26, lines 30-31

15Chapter 4: Decision Making and Repetition with Reusable Objects

16Chapter 4: Decision Making and Repetition with Reusable Objects

Testing with an if statement

• Testing a single condition– if (answer == null)– if (!done)

• Testing multiple conditions– if ((gender == “male”) && (age >= 18))– if ((age < 13) || (age > 65))– AND and OR expressions evaluate the right

operand only if the left operand is not sufficient to decide the condition

17Chapter 4: Decision Making and Repetition with Reusable Objects

Exception Handling

• An exception is an event resulting from an erroneous situation which disrupts normal program flow

• Exception handling is the concept of planning for possible exceptions by directing the program to deal with them gracefully, without terminating

• Three kinds of exceptions– I/O– Run-time– Checked

• The compiler checks each method to ensure each method has a handler

18Chapter 4: Decision Making and Repetition with Reusable Objects

Handling Exceptions

• The try statement identifies a block of statements that may potentially throw an exception

• The throw statement transfers execution from the method that caused the exception to the handler– Transfers execution to the catch statement if the throw is placed

within a try statement

• The catch statement identifies the type of exception being caught and statements to describe or fix the error

• The finally statement is optional and is always executed regardless of whether an exception has taken place– Placed after the catch statement

19Chapter 4: Decision Making and Repetition with Reusable Objects

20Chapter 4: Decision Making and Repetition with Reusable Objects

21Chapter 4: Decision Making and Repetition with Reusable Objects

Catch an exception

Throw an exception

22Chapter 4: Decision Making and Repetition with Reusable Objects

Throwing an Exception

• Compile the program after coding each method and call statement

• Run the program with correct input• Run the program to test the exception handling

with invalid input– Alphabetic data– Negative values– Null or zero values

• Verify that the user is allowed to reenter data • Verify the program closes correctly

23Chapter 4: Decision Making and Repetition with Reusable Objects

Repetition Structure

24Chapter 4: Decision Making and Repetition with Reusable Objects

The getSales() method

25Chapter 4: Decision Making and Repetition with Reusable Objects

The getCode() method

26Chapter 4: Decision Making and Repetition with Reusable Objects

The Case Structure

• A type of selection structure that allows for more than two choices when the condition is evaluated

• Used when there are many possible, valid choices for user input

• The code evaluates the user choice with a switch statement and looks for a match in each case statement

• Each case statement contains a ending break statement which forces exit of the structure

27Chapter 4: Decision Making and Repetition with Reusable Objects

28Chapter 4: Decision Making and Repetition with Reusable Objects

The getComm() Method

29Chapter 4: Decision Making and Repetition with Reusable Objects

Arguments and Parameters

• When a method is called, the calling method sends arguments; the called method accepts the values as parameters

• Different but related identifier names for the arguments and the parameters should be used for good program design– The variables are only visible in their respective

methods

• Arguments and parameters for a called method and the calling statement must be of the same number, order, and data type

30Chapter 4: Decision Making and Repetition with Reusable Objects

Formatting Numeric Output

• The DecimalFormat class formats decimal numbers into Strings for output

• Supports different locales, leading and trailing zeros, prefixes/suffixes, and separators

• The argument is a pattern, which determines how the formatted number should be displayed

31Chapter 4: Decision Making and Repetition with Reusable Objects

32Chapter 4: Decision Making and Repetition with Reusable Objects

The output() method

33Chapter 4: Decision Making and Repetition with Reusable Objects

The finish() method

Exits system when program completes successfully

34Chapter 4: Decision Making and Repetition with Reusable Objects

Moving to the Web

• Create the host document to execute the applet

35Chapter 4: Decision Making and Repetition with Reusable Objects

Coding an Applet Stub

• Enter general block comments• Import java.awt.*, java.applet.*, java.awt.event.*,

and java.text.DecimalFormat• Implement the ItemListener interface to listen for

the user choice on a Checkbox• Code the method headers for the init() and the

itemStateChanged() method– itemStateChanged() is an ItemListener method to

process user choices

• Declare variables and construct a Color object

36Chapter 4: Decision Making and Repetition with Reusable Objects

37Chapter 4: Decision Making and Repetition with Reusable Objects

Making Decisions in Applets

• Use a CheckboxGroup to allow user choices

38Chapter 4: Decision Making and Repetition with Reusable Objects

Constructing Applet Components

• Construct Labels for input and output• Construct a CheckboxGroup for user options

39Chapter 4: Decision Making and Repetition with Reusable Objects

Constructing Applet Components

• Add Labels and CheckboxGroup to the applet

• Add an ItemListener to each Checkbox component with the addItemListener() method

• Add color with the setForeground() and the setBackground() methods

• Set the insertion point with the requestFocus() method

40Chapter 4: Decision Making and Repetition with Reusable Objects

The init() Method

41Chapter 4: Decision Making and Repetition with Reusable Objects

Handling Exceptions

• Check for valid data when the itemStateChanged() method is triggered, which happens when the user clicks an option button

42Chapter 4: Decision Making and Repetition with Reusable Objects

The getSales() Method

• Parse the data from the TextField and return a valid sales amount or throw an exception to the init() method

43Chapter 4: Decision Making and Repetition with Reusable Objects

The getCode() Method

• Initialize the code to 0• Use nested if statements to assess the boolean state of

the Checkboxes and return the code to init()

44Chapter 4: Decision Making and Repetition with Reusable Objects

The getComm() Method

• Identical to the application• Return the commission value to init()

45Chapter 4: Decision Making and Repetition with Reusable Objects

The output() Method

• Send output to the Label using setText()• Construct and use DecimalFormat, using the special

character # to make a leading zero absent

46Chapter 4: Decision Making and Repetition with Reusable Objects

The paint() Method

• Display a graphic

47Chapter 4: Decision Making and Repetition with Reusable Objects

Compiling and Testing the Applet

• Compile the applet• Execute the applet using AppletViewer • Test exception handling by clicking an option button and

then typing invalid data into the text box• Verify the error message and the data clearing

mechanisms• Test all options with valid data• Test in a browser window• Document the applet interface and source code

48Chapter 4: Decision Making and Repetition with Reusable Objects

Chapter Summary

• Design a program using methods

• Code a selection structure to make decisions in code

• Describe the use of the logical AND, OR, and NOT operators

• Define exceptions and exception handling

49Chapter 4: Decision Making and Repetition with Reusable Objects

Chapter Summary

• Code a try statement and a catch statement to handle exceptions

• Create a user-defined method

• Code a repetition structure using the while statement

• Write a switch statement to test for multiple values in data

50Chapter 4: Decision Making and Repetition with Reusable Objects

Chapter Summary

• Format numbers using a pattern and the format() method

• Construct a Color object

• Use a Checkbox and a CheckboxGroup in the user interface

Java Programming, 3eConcepts and Techniques

Chapter 4 Complete