Decision Making and Repetition with Reusable Objects - PowerPoint PPT Presentation

1 / 50
About This Presentation
Title:

Decision Making and Repetition with Reusable Objects

Description:

Compile the program after coding each method and call statement ... Compile the applet. Execute the applet using AppletViewer ... – PowerPoint PPT presentation

Number of Views:51
Avg rating:3.0/5.0
Slides: 51
Provided by: cuya4
Category:

less

Transcript and Presenter's Notes

Title: Decision Making and Repetition with Reusable Objects


1
Chapter 4
  • Decision Making and Repetition with Reusable
    Objects

2
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

3
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

4
Objectives
  • Format numbers using a pattern and the format()
    method
  • Construct a Color object
  • Use a Checkbox and a CheckboxGroup in the user
    interface

5
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

6
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

7
(No Transcript)
8
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

9

10
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

11
Coding the Program

12
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

13

14
The ifelse Statement
  • Single line 29, line 30
  • Block lines 15-26, lines 19-20, lines 23-24
  • Nested lines 17-25, lines 29-30

15
(No Transcript)
16
Testing with an if statement
  • Testing a single condition
  • if (answer null)
  • if (!done)
  • Testing multiple conditions
  • if ((gender male) (age gt 18))
  • if ((age lt 13) (age gt 65))
  • AND and OR expressions evaluate the right operand
    only if the left operand is not sufficient to
    decide the condition

17
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
  • Two kinds of exceptions
  • Run-time
  • Checked
  • The compiler checks each method to ensure each
    method has a handler

18
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

19

20

21

Catch an exception
Throw an exception
22
Testing methods
  • 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

23
Repetition Structure
24
The getSales() method

25
The getCode() method

26
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

27

28
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

29
The getComm() Method

30
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

31

32
The output() method

33
The finish() method
  • Exits system when program completes successfully

34
Moving to the Web
  • Create the host document to execute the applet

35
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

36

37
Making Decisions in Applets
  • Use a CheckboxGroup to allow user choices

38
Constructing Components
  • Construct Labels for input and output
  • Construct a CheckboxGroup for user options

39
Adding 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

40
The init() Method

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

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

43
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()

44
The getComm() Method
  • Identical to the application
  • Return the commission value to init()

45
The getOutput() Method
  • Send output to the Label using setText()
  • Construct and use DecimalFormat, using the
    special character to make a leading zero absent

46
The paint() Method
  • Display a graphic

47
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

48
Summary
  • Repetition Structures
  • while statement
  • Selection Structure
  • ifelse statement
  • switch and case statements
  • Exception handling
  • Try and catch statements
  • Modularity
  • Smaller segments of reusable code through methods
  • Program clarity and refinement

49
Summary
  • Program stubs
  • Incremental testing
  • CheckboxGroup
  • User options for user interfaces
  • Responding to user options
  • ItemListener, addItemListener(),
    itemStateChanged()
  • Data validation and error messages
  • Testing invalid data

50
Chapter 4 Complete
Write a Comment
User Comments (0)
About PowerShow.com